1. 关于TPS(Transactions per Second): 每秒处理事务数。
这个值可以说明系统在特定的负载情况下,每秒可以处理多少个客户端请求,这是一个衡量服务器端性能的重要指标,相信各位在进行性能测试的时候经常会用到这个指标。但是一直以来我都有一个疑问,到底这个值是怎么算出来的。既然是每秒事务数,那算法自然是“事务数/时间”。事务数很好理解,执行了多少就是多少,关键是这个时间。是整个场景执行的时间,还是仅仅是在服务器端执行的时间?因为我们知道,这两个时间肯定是有区别的,前者还包括thinktime的时间、pacing的时间以及在网络上耗费的时间等等。
为了弄明白这个问题,我今天特地查了一下帮助文档,看到上面是这么说的:“每秒事务数图显示在场景或会话步骤运行的每一秒中,每个事务通过、失败以及停止的次数。”如果按照这句话去理解,那么上面那个问题的答案应该是后者,也就是说,在Transaactions per Second这张图中,LoadRunner是针对场景运行过程中的每一个时间点取样一次,显示在这个时间点上每个事务的通过、失败以及停止的个数。
另外,我还在Analysis里面找了一下,发现图表的时间显示粒度也是可以设置的。具体方法为:在图表上点击右键->选择“Set Granularity”或者直接按Ctrl+G。我试着把时间粒度调成以毫秒为单位,结果LoadRunner提示当前不支持以毫秒为显示粒度,由此我推断LoadRunner对于Transactions per Second这张图,最小的取样粒度为1秒。
以上分析如果有不对的地方,希望各位提出批评。