与每秒事务计算混淆

时间:2016-12-01 10:12:26

标签: jmeter

我对transaction per second的计算非常困惑。 假设我的jmeter日志文件如下所示:

timeStamp;elapsed;label;responseCode;threadName;success;bytes;grpThreads;allThreads;Latency;SampleCount;ErrorCount;Hostname;IdleTime
10:24:10;302;10.107.25.219;200;Groupe d'unités 1-1;true;266;1;1;302;1;0;MYPC;0
10:24:11;182;10.107.25.219;200;Groupe d'unités 1-1;true;266;1;1;181;1;0;MYPC;0
10:24:12;153;10.107.25.219;200;Groupe d'unités 1-1;true;266;1;1;153;1;0;MYPC;0
10:24:13;198;10.107.25.219;200;Groupe d'unités 1-1;true;266;1;1;198;1;0;MYPC;0

如何计算每秒的交易?

这是一个常数??

1 个答案:

答案 0 :(得分:1)

您可以使用JMeter插件Transactions Per Second侦听器。

  1. 下载插件jar,保留在JMeter和RESTART的/lib/ext文件夹中。或者使用JMeter Plugin Manager从工具本身下载jar。
  2. jp@gc Transactions Per Second菜单中的Listener图表添加到您的测试计划中。
  3. 使用Browse按钮加载结果文件。
  4. 您可以通过禁用与​​HTTP采样器相关的所有复选框并从Rows标签启用事务控制器复选框来仅过滤事务。
  5. 如果您想构建自定义记者:

    第一个解决方案:

    您可以依赖结果中的datatype列来区分结果文件中的samplertransaction controller

    以下是带有一个采样器和一个事务控制器的示例结果文件:

    timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,grpThreads,allThreads,Latency,IdleTime
    1480588968698,3,HTTP Request,200,OK,Thread Group 1-1,text,true,,434,1,1,2,0
    1480588968697,3,Transaction Controller,200,"Number of samples in transaction : 1, number of failing samples : 0",Thread Group 1-1,,true,,434,1,1,2,2
    1480588968702,0,Debug Sampler,200,OK,Thread Group 1-1,text,true,,421,1,1,0,0
    

    您可以检查empty的数据类型列是transaction controller,而sampler的数据类型列是text

    如果您要编写自己的自定义报告生成器,则可以在决策时使用datatype列。

    第二个解决方案:

    通过遵循命名标准,您可以以更专业的方式实现同​​样的目标。

    1. 将所有采样器命名为“Sampler _”
    2. 将所有采样器命名为“Transaction _”
    3. 就是这样。在您的代码中,您可以控制决定哪个label值表示什么,即sampler/transaction controller