看懂软件性能测评报告,重点是看懂几个标准。可以检查响应时间、吞吐量、错误率和资源利用率这四大类标准。
第一步:性能标准
这些标准从不同角度描绘了系统在压力下的表现:
响应时间 (Response Time, RT):测量速度,即从发出请求到收到响应所需的时间。这是影响用户体验最直接的标准。
平均值 (Average):所有请求响应时间的算术平均,但容易被极端值影响。
中位数 (Median):将响应时间排序后中间的值,比平均值更能代表典型体验。
TP90, TP95, TP99:分别表示90%、95%、99% 的请求,响应时间都低于某个值。如,TP99=2秒,意味着99%的用户体验在2秒以内。相比平均值,这些百分位数更能真实反映绝大多数用户的体验。
参考标准:一般2秒内体验较好,5秒内可以接受,超过5秒则需要考虑优化。
吞吐量 (Throughput):测量容量,即系统在单位时间内能处理的请求或事务数量。
QPS (Queries Per Second):每秒查询数。
RPS (Requests Per Second):每秒请求数。
TPS (Transactions Per Second):每秒事务数。一个事务可能包含多个请求。
观察吞吐量随并发用户数增加的变化趋势。理想情况下先升后稳,如果出现下降,一般意味着系统已达性能短板。
错误率 (Error Rate):测量稳定性,即失败请求占总请求数的比例。
计算方式:错误率 = (异常返回数 / 总请求数) * 100%。
正常返回:一般指HTTP状态码为2XX的请求。
异常返回:包括分析失败、检查失败、响应超时、3XX、4XX、5XX等。
参考标准:理想状态下应无错误,一般可接受的错误率不超过1%。
并发用户数 (Concurrent Users):测量承载能力,即系统在同一时刻能处理的活跃用户数量。
重点看:系统性能开始下降的拐点并发数,这是系统的最好负载点。
资源利用率 (Resource Utilization):测量健康度,即服务器硬件资源(CPU、内存、磁盘I/O、网络)的使用情况。
CPU使用率:建议长期不超过85%。
内存使用率:重视是不是存在不断增长(可能的内存泄漏)。
磁盘I/O和网络:重视读写速度和带宽是不是成为短板。
第二步:分析标准
观察趋势,而不是只看平均:重视响应时间、吞吐量等标准怎样随并发用户数变化。突然的峰值可能意味着性能短板。
交叉证实,定位短板:当响应时间变长时,检查此时的资源利用率。如果CPU或内存飙升,说明是资源短板;如果资源闲置但响应慢,可能是代码或数据库问题。
第三步:识别常见情况
响应时间不断攀升:系统处理能力跟不上负载,可能已接近短板。
吞吐量不升反降:增加压力后处理能力反而下降,是系统过载的典型表现。
错误率突然飙升:系统可能在某个压力点下崩溃或不稳定。
资源利用率接近100%:对应的资源(CPU、内存、磁盘、网络)已成为短板。
建议
建立性能基线:在没有压力或正常负载下先跑一次,作为健康标准。
结合业务场景:性能好坏取决于业务需求。重点交易(如支付)比普通查询(如浏览)的要求高得多。
区分在线和并发用户:报告中的并发一般指同时发起请求的用户数,远小于系统总的在线用户数。
SLA规则:如果报告配置了SLA(服务水平协议),这个直接告诉你哪些标准达标了,哪些没达标。