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