Jmeter命令行执行压测出现额外请求问题求助
JMeter负载测试请求数翻倍排查方案
- 核对线程组核心配置:检查线程组的
线程数、循环次数是否符合预期计算逻辑。比如预期2400请求,若设置为2400线程×1次循环,或1200线程×2次循环,都会导致请求数翻倍;同时确认调度器未开启重复执行的定时设置。 - 排查逻辑控制器影响:检查是否意外添加了
循环控制器、Foreach控制器且循环次数超标;另外确认事务控制器是否勾选包括嵌套的采样器,若嵌套了额外请求,会被计入总请求统计。 - 检查HTTP请求重定向设置:如果HTTP请求勾选了
跟随重定向或自动重定向,当接口返回3xx状态码时,JMeter会自动发送重定向请求,这类请求会被统计到总请求数中。可查看.jtl文件,是否存在带Redirect后缀的额外采样器。 - 清点测试计划内请求数:逐个数清所有线程组、逻辑控制器下的采样器数量,计算单循环总请求数,再乘以线程数、循环次数,验证是否等于4800。比如单循环包含2个请求,1200线程×1次循环是2400,若单循环是4个请求则会达到4800。
- 确认命令行执行的测试计划:检查
Login.jmx是否为预期的测试文件,避免误执行了包含更多请求的其他jmx文件;同时确认是否因变量解析问题导致测试被重复触发。 - 借助JMeter日志分析:执行测试时添加
-j参数生成日志,命令示例:jmeter -n -t c:\Load\Average\Login.jmx -l c:\Load\Average\JmeterResult\%timestamp%\AverageResult.jtl -e -o c:\Load\Average\AverageResult\%timestamp% -j c:\Load\Average\test_exec.log,查看日志中的线程启动、请求执行记录,定位额外请求的来源。
内容的提问来源于stack exchange,提问作者Vitalii
相关产品推荐
相关产品推荐

