如何在JMeter中计算TPH和TPS?负载测试后计算方法求助
计算TPH和TPS的具体方法
核心前提数据
先从负载测试报告中提取两个关键数据:
- 所有线程组成功完成的总事务数(记为
Total_Transactions):把每个线程组实际完成的事务数累加,不要用设置的预期数,因为测试中可能存在失败或未完成的情况。 - 测试的实际持续时间:
- 精确到秒的话记为
Duration_Seconds(从第一个请求发起,到最后一个请求结束的总时长) - 精确到小时的话记为
Duration_Hours(直接用秒数除以3600即可转换)
- 精确到秒的话记为
1. TPS(每秒事务数)计算
TPS是单位时间内完成的事务数,公式如下:
TPS = Total_Transactions / Duration_Seconds
如果需要峰值TPS,可提取测试过程中某一秒内完成的最大事务数,多数负载测试工具的报告也会直接给出该数值。
2. TPH(每小时事务数)计算
TPH是每小时完成的事务数,有两种计算方式:
- 方式一:用总事务数除以总时长(小时)
TPH = Total_Transactions / Duration_Hours - 方式二:直接用TPS乘以3600(1小时=3600秒)
TPH = TPS * 3600
针对你的场景的注意事项
- 若存在事务失败,可区分成功TPS/TPH和总TPS/TPH:成功指标只统计完成的事务,总指标则包含失败事务(需统计总处理量时使用)。
- 必须用测试结束后实际完成的事务数计算,不要用线程组预设的事务数,避免因超时、报错等未完成情况导致数据偏差。
内容的提问来源于stack exchange,提问作者Guruganesh
相关产品推荐
相关产品推荐

