服务性能分析

概念

  1. 并发数: 也叫并发连接数,指网络设备所能处理的最大会话数量。这里的会话数是指请求->响应一次会话。
  2. 吞吐量:用户请求是由一个个数据包组成,网络设备(防火墙/路由器/交换机)对每个数据包的处理要耗费资源。吞吐量是指在不丢包的情况下单位时间内通过网络设备的数据包数量。
  3. 网络层面并发数和吞吐量的关系:
    并发数x包长度=吞吐量
  4. TPS:Transactions Per Second(每秒事务处理数),指服务器每秒处理的事务次数。一般用于评估数据库、交易系统的基准性能。
  5. QPS:Queries Per Second(查询量/秒),是服务器每秒能够处理的查询次数,例如域名服务器、Mysql查询性能。
  6. QPS(TPS)= 并发数/平均响应时间

并发数高,吞吐量不一定高。
如果谈的是网络设备,参照:并发数x包长度=吞吐量,吞吐量依赖于并发数和包长度。
如果谈的是服务器及完整整体性能,需要明确吞吐量的度量指标,假定以吞吐量以QPS作为度量指标,如果并发数高,但平均响应也很高的话,则QPS可能降低。

优化

请求响应时间=请求发送耗时+请求解析耗时+请求处理耗时+处理结果返回耗时
从性能优化角度出发,就需要我们尽力保持和降低系统的99%RT(即一段时间内请求响应时间从低到高排序,低于99%响应时间的上限边界值(比如容忍值是3s))的同时,提高单位时间内的处理能力。

step 1:
测试指标

指标名称 指标数值 指标说明
TPS 100 每秒事务数,很重要的一个指标,衡量系统的处理能力
RT 95%、99%、99.99% 百分比请求的响应时间,即n%以内的RT请求响应时间是多少,百分比越高,RT越低,系统越稳定
error 0.1%、0.01% 错误率,即可接受的请求失败的占比
Cache 90%、95% 缓存命中率:命中率越高,使用缓存的收益越高,系统的性能越好
CPU 75%、90% CPU使用率,一般来说75%是一个阈值,超过85%就需要重点关注

step 2:
《jmeter测试指南》

step 3:
分析
常见的性能测试缺陷

参考
衡量网站性能时,并发数与吞吐量为何要分别考量?
性能测试基础-常见性能指标详解
*性能测试
JMeter压测上对于并发的认识误区
什么是QPS,TPS,吞吐量