网络带宽
在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。
硬件配置
包括CPU使用率、内存占用率、磁盘数据交换。
压测脚本
进行阶梯式加压测试,模拟请求数超过了设置的线程数,导致线程不足。
业务逻辑
业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。
系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。
连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池和数据库连接池。
回收机制
从常见的应用服务器来说,比如java的的堆栈内存是动态分配,具体的回收机制是基于算法,那么对TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。
数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的连接数不够,就会导致数据库事务处理过慢,影响到TPS。
通信机制
串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。
压力机器
比如测试工具,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS。
推荐阅读: