名词百科

什么是压力测试(压测)?

一句话定义

压力测试是持续加大负载直到系统出现明显瓶颈或崩溃,用来找出容量上限、最先撑不住的环节,以及超载时的降级表现;工程上通常简称「压测」。

什么是压力测试(压测)?

AI 导读

约 1 分钟读完

压测的核心价值不在于得出一个漂亮的峰值数字,而在于暴露系统在超载时刻的崩溃方式与恢复机制。这篇指南厘清了压力测试与性能、负载及稳定性测试的本质区别,指出单一接口或空库数据导致的结论偏差。通过阶梯加压、混合真实请求比例及模拟连接池打满等实操方法,帮助工程团队获取具备生产参考价值的容量拐点,避免因错误指标误导扩容决策。

  • 压测重在探索边界与崩溃方式,而非验证预期达标
  • 单一接口压测峰值不能直接作为系统容量结论
  • 空库或小数据量压测会给出过于乐观的性能数字
  • 观察限流降级重试生效情况比单纯记录最大并发更有价值
  • 容量规划应依据压测得到的性能拐点反推资源规格

内容由 AI 智能生成,仅供参考

它到底是什么

压力测试问的是「最多能扛多少」:持续加大并发或数据量,直到响应时间陡增、错误率上升或服务不可用,并记下这个转折点。它和性能测试的分工很清楚——性能测试验证「预期负载下达标」,压力测试探索「边界在哪里」。

工程上说的「压测」通常指这一种:用工具模拟大量并发请求,把系统压到极限再观察表现。同一个词在不同团队里也泛指所有性能类测试,所以看报告时先确认它到底压到了什么程度。

怎么运作的

阶梯加压:按并发梯度逐级往上,每级稳定运行几分钟再进下一级。一把拉满只能得到「挂了」的结论,说不清从哪个量级开始不行。

混合真实请求:真实流量是多接口混合、有读写比例、有缓存命中与未命中的差别,单一接口压出来的峰值不能当容量结论。

数据量接近生产:百万行表和几百行表在索引上的表现完全不同,空库压测会给出过于乐观的数字。

看崩溃之后的样子:打满连接池、摘掉部分实例,观察限流、降级、重试是否按预期生效。这部分结论往往比「能扛多少」更有价值——用户真正遇到的是超载时刻的表现。

容易混的几个概念

  • 负载测试:在预期负载下验证表现,不追求压垮。
  • 压力测试(压测):超出预期负载,专门找极限与崩溃方式。
  • 稳定性测试:长时间保持负载,看内存泄漏与性能衰减。
  • 容量规划:用压测得到的拐点反推机器数量与带宽规格。

常见问题

压测能把线上环境打挂吗?

能。线上压测要限定在低峰期、小梯度、带限流白名单和回滚开关,并有人在监控前值守;更稳妥的做法是在隔离环境按生产规模同比缩容后压测,先拿到量级判断。

压测报告里最该看哪个数?

看拐点,不看峰值。即「并发从多少开始,响应时间或错误率出现明显恶化」,这个数字才是容量结论;再配合 95 / 99 分位值判断用户体验的下限。

J 项目运维 · 同组词条

需求调研需求调研是通过访谈、观察、数据分析等方式弄清用户真正要解决的问题;需求分析是把调研结果整理成可开发、可验收的规格。调研找问题,分析定方案。PRDPRD(Product Requirements Document,产品需求文档)是描述产品要做什么、为谁做、怎么判断做完的文档,是开发、测试与业务方对齐的依据。原型图原型图是产品界面的低保真示意,表达布局与元素位置;线框图更强调结构骨架,通常不含视觉细节。两者用于在开发前确认信息架构与流程。迭代迭代是按固定周期交付一部分可用功能的工作方式;版本管理是对不同发布版本的内容、时间与兼容性进行规划与控制。功能测试功能测试是验证软件功能是否符合需求规格的测试,测试用例是描述输入、操作步骤与预期结果的文档,是功能测试的执行依据。性能测试性能测试是在预期负载下验证系统的响应时间、吞吐量和资源占用是否达标,回答的是「日常高峰撑不撑得住」;它不负责把系统压垮。安全测试安全测试是检查系统是否存在可被利用的漏洞的测试活动;渗透测试是模拟攻击者视角,尝试实际攻破系统,以验证防护是否有效。BUG管理BUG 是软件中不符合预期的缺陷;缺陷管理是记录、分级、分配、跟踪与验证缺陷直至关闭的流程,通常借助缺陷跟踪系统实现。