性能测试中TPS为什么一直上不去?

TPS(transaction per second)每秒事物处理量:每秒系统处理的事物数,是衡量系统处理能力的重要指标。TPS=并发数/响应时间

  • 1、网络方面:
    网络带宽
    在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。
    网络设备
    一般指的是防火墙、动态负载均衡器、交换机等设备

  • 2、硬件资源
    包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)

  • 3、连接池
    最大连接数太少,造成请求等待。连接池一般分为服务器中间件连接池(比如tomcat)和数据库连接池(或者可理解为最大允许连接数)

  • 4、核心业务的软件模块
    编程上的不合理,导致运算量过大,等待时间过长或者系统的交互次数过多,交互数据过大

  • 5、数据库配置
    高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。

  • 6、压力机
    比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。

  • 7、业务逻辑
    业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

  • 8、系统架构
    比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。

来自于各方资料总结~

你可能感兴趣的:(性能测试中TPS为什么一直上不去?)