目前我正在云端使用 jmeter。
我有一个需要 20,000 个用户执行的场景。但是在10,000之后它会冻结。我检查了 CPU 时间:它正在使用 100%。
请告诉我该怎么做才能避免这种情况。
- 用户数 = 20000 循环计数 = 1
- 我可以使用用户数 = 10000 和循环数 = 2 吗?
1和2有什么区别?
我们没有单独的要求,只有 20,000 个用户执行我们的脚本。
3:Jmeter Cloud 中允许的最大线程数是多少?
目前我正在云端使用 jmeter。
我有一个需要 20,000 个用户执行的场景。但是在10,000之后它会冻结。我检查了 CPU 时间:它正在使用 100%。
请告诉我该怎么做才能避免这种情况。
1和2有什么区别?
我们没有单独的要求,只有 20,000 个用户执行我们的脚本。
3:Jmeter Cloud 中允许的最大线程数是多少?
您应该删除所有侦听器
使用非 gui 进行负载测试。
./jmeter -t testplan.jmx -n -l results.csv
使用 CVS 作为输出结果
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=HH:mm:ss
jmeter.save.saveservice.default_delimiter=;
jmeter.save.saveservice.print_field_names=true
没有 JMeter Cloud 。你到底在说什么?如果 CPU 为 100%,则:
要么您的测试计划有误,请先阅读以下内容进行检查:
您的机器或机器集不够强大,您可以尝试使用分布式测试或一些基于云的商业解决方案:
最后回答你的问题1和2是完全不同的模拟
您正在从一台机器生成 20000 个用户负载,因此如果您在云上使用分布式测试会更好。您可以像这样准备您的场景:
主机:用户数:10000,循环数:1
对于 2 台从机,它会增加一倍,或者如果您将使用 3 台从机,则计数变为三倍(即 30000)。
你的qsns的答案:
1) 20000 用户一次访问服务器,意味着一次迭代。2) 10000 用户将在一次迭代中访问服务器,之后 10000 将进入第二次迭代。
我想分布式测试将帮助您降低 CPU 利用率。因为它减少了一台机器产生的负载。