吞吐量 指在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。 一个系统的吞度量(承压能力)与请求对CPU的消耗、外部接口、IO等等紧密关联。 单个请求对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
TPS(每秒事务数) 是吞吐量的常用量化指标。指服务器在单位时间内(秒)处理的事务数量,一般以事务数/秒为单位。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。如:一条高速路有10个入口,每个入口每秒钟只能进1辆车,那TPS就是10。 计算公式 TPS=并发用户数/平均响应时间 影响TPS因素 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。 2、连接池 可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。 3、数据库配置 高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。 4、通信连接机制 串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。 5、硬件资源 包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。 6、业务逻辑 业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。 7、系统架构 比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。
|