我正在使用 JMeter 客户端测试某个服务器上某个工作负载(PHP+MySQL,1 页)的吞吐量。基本上,随着时间的推移,我正在使用越来越多的线程进行“容量测试”。
我安装了“Statistical Aggregate Report”JMeter 插件,结果如下(忽略“响应时间”行):
同时我使用“Simple Data Writer”监听器来写一个日志文件(“JMeter.csv”)。然后我尝试“手动”计算测试每一秒的吞吐量。
“JMeter.csv”的每一行都有这种格式:
timestamp elaspedtime responsecode success bytes
1385731020607 42 200 true 325
... ... ... ... ...
时间戳是指客户端发出请求的时间,而不是服务器处理请求的时间。所以我只是做了:totaltime = timestamp + elapsedtime。
在下一步中,我将总时间转换为日期格式,例如:13:17:01。
我有超过 14K 的样本,并且使用 Excel 我能够快速完成此操作。
然后我计算每秒有多少样本。例子:
totaltime samples (requestsServed/second)
13:17:01 204
13:17:02 297
... ...
当我尝试绘制结果时,我得到了以下图形:
如您所见,它与第一个图形有很大不同。
鉴于第一个图形是正确的,我计算吞吐量的公式/程序有什么错误?