针对吞吐率和 TPS 的关系,这个在结果分析中如何使用,就个人经验和朋友讨论后,提出如下建议指导,欢迎同僚指正。
相关定义
- 响应时间 = 网络响应时间 + 应用程序响应时间
- 响应时间 =(N1+N2+N3+N4)+(A1+A2+A3)
- TPS :Trasaction per second也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始 计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息来估计得分。客户机使用加权协函数平均方法来计算客户机的得 分,测试软件就是利用客户机的这些信息使用加权协函数平均方法来计算服务器端的整体TPS得分。一般来说系统的TPS取决于系统事务最低处理能力的模块的 TPS,经验值10-100
- HPS:Hit per second也就是点击数/秒,指的是一秒钟的时间内用户对WEB页面的链接、提交按钮等点击的总和。一般与TPS成正比关系,是衡量B/S系统的一个主要指标
- Throughput/s:吞吐率,指的是每秒系统处理的客户的请求的数量,也可以理解为单位时间内客户接收到的服务的反馈量
- 吞吐率:测试过程中每秒从服务器返回的字节数。
从定义上来看,如果 TPS 很小,但是吞吐率比较大,说明服务器的返回的页面文件 ( 字节数 ) 是比较大的,此时根据页面细分图,如果存在页面问题,考虑页面压缩。
还应根据 A1—A3 , N1—N3 实际考虑。
如果 A1 或者 A3 比较大,说明 webserver 处理可能存在问题,如果 A2 比较大,则说明 DBserver 处理存在问题,建议 sql 优化。
当增大系统的压力 ( 或增加并发用户数 ) 时,吞吐率和 TPS 的变化曲线呈大体一致,则系统基本稳定。
若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,同时 TPS 也趋于平坦,查看系统资源使用,如果资源使用率比较低,说明服务器硬件资源不存在问题,查看网络流量,估计网络带宽存在问题。
同理若点击率 /TPS 曲线出现变化缓慢或者平坦 , 点击率 ( 用户每秒发出的请求数 ) 如果在压力增加时,趋于平坦,很可能是服务器响应时间增加,观察服务器资源使用情况,确定是否是服务器问题。
TPS 是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时, 以此来计算使用的时间和完成的事务个数,最终利用这些信息来估计得分。客户机使用加权协函数平均方法来计算客户机的得分,测试软件就是利用客户机的这些信 息使用加权协函数平均方法来计算服务器端的整体 TPS 得分。
一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的 TPS 值。依据经验,应用系统的处理能力一般要求在 10-100 左右。不同应用系统的 TPS 有着十分大的差别,一般需要通过性能测试进行准确估算。
经验分析:
1、TPS标准差/TPS Average>8%,或者<2%则系统存在性能瓶颈
2、当增大系统的压力 ( 或增加并发用户数 ) 时,吞吐率和 TPS 的变化曲线呈正比变化,则系统基本稳定
3、若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,同时 TPS 也趋于平坦,查看系统资源使用,如果资源使用率比较高,则说明服务器硬件资源存在问题,需要拓展硬件或者优化应用。反之,则说明服务器硬件资源不存在问题,查看网络流量,估计网络带宽存在问题。
4、点击率 /TPS 曲线出现变化缓慢或者平坦 , 很可能是服务器响应时间增加,观察服务器资源使用情况,确定是否是服务器问题或者应用问题