1.测试关注参数
接口 | 并发数 | 平均响应时间(s) | 响应时间中位数(s) | 响应时间前90% | 响应时间前99% | 业务成功率(%) | 吞吐量(tps)个 | CPU | 内存 |
/api1 | | | | | | | | | |
| | | | | | | | | |
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
QPS(TPS)= 并发数/平均响应时间
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
系统吞吐量
一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间 或者 并发数 = QPS*平均响应时间
2.测试工具
通常使用 Jmeter ,loadRunner 等进行压力测试。
3.测试方案
1.根据预期值设定不足、刚满足,超出的请求压力测试
2.不用业务的接口覆盖,理解接口后面的调用资源情况,合理设定接口组合测试方案
4.问题定位
1.响应时间过长:
查看调用链,优化步骤长的部分,数据库方面优化(查询语句优化,索引创建,读写分离,分库分表)
2.并发数达不到:
资源争抢,处理线程数限制
业务流程/代码实现优化
3.CPU,内存过高
频繁GC
频繁线程切换
代码优化耗CPU的部分