目前我正在云中使用jmeter。
我有一个用20,000个用户执行的方案。但在10,000之后,它会冻结。我检查了CPU时间:它正在使用100%。
请告诉我如何避免这种情况。
1&和1之间有什么区别? 2?
我们没有单独的要求,只有20,000名用户执行我们的脚本。
3:Jmeter Cloud中允许的最大线程数是多少?
答案 0 :(得分:0)
没有JMeter Cloud。你到底在说什么? 如果CPU为100%,那么:
您的测试计划是错误的,请先阅读此内容以进行检查:
您的计算机或计算机集不够强大,您可以尝试使用分布式测试或某些基于云的商业解决方案:
最后回答你的问题1和2是非常不同的模拟
答案 1 :(得分:0)
您正在从一台计算机上生成20000个用户负载,因此如果您在云上使用分布式测试会更好。您可以像这样准备您的方案:
主机: 用户数:10000,循环次数:1
对于2台从属机器它会变成双倍,或者如果你将使用3台从属机器,则计数变为三倍(即30000)。
你的qsns答案:
1)20000个用户一次点击服务器,意味着一次迭代。 2)10000个用户将在一次迭代中命中服务器,之后10000将进入第二次迭代。
我认为分布式测试可以帮助您降低CPU利用率。因为它减少了一台机器产生的负载。
答案 2 :(得分:0)
您应该删除所有侦听器
使用非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