性能指标:响应时间(RT)、吞吐量(TPS、QPS)、 并发数
响应时间(RT)reponse time
指系统对请求作出响应的时间。一般关注平均响应时间和最大响应时间。
对于单机没有并发操作的应用系统而言,普遍认为响应时间是一个合理且准确的性能指标,但响应时间并不能直接反应软件的性能高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。例如,游戏(1s内)和编译系统(几十分钟)的响应时间不在一个数量级
吞吐量(TPS)throughput/sec transaction per second
指系统在单位时间内处理请求的数量。事务数/秒。一个事务是指一个客户机向服务器发送请求,然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数
对于无并发的应用系统而言,吞度量与响应时间严格反比,此时吞吐量就是响应时间的倒数。对于单用户的系统,响应时间可以很好的度量系统性能;但对于并发系统,通常需要用吞吐量作为性能指标
并发用户数
指系统可以同时承载的正常使用系统功能的用户数量
每秒查询率(QPS)query per second
指一台服务器每秒能够响应的查询次数,是对一个特定查询服务器在规定时间内所处理流量多少的衡量标准
TPS和QPS的区别:
1. TPS即每秒处理事务数,包括:a)用户请求服务器 b)服务器自己的内部处理 c)服务器返回给用户。每秒能够完成N个这三个过程,TPS就是N
2. QPS类似TPS,但不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可以计入QPS中
例如:访问一个页面会请求服务器3次,一次访问,产生1个T,3个Q
公式:
TPS=并发用户数/平均响应时间
影响TPS的因素:
1、网络带宽
在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。
2、连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。
3、数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。
4、通信连接机制
串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。
5、硬件资源
包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。
6、业务逻辑
业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。
7、系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。