目前我正在云端使用jmeter。
我有一个场景要执行20,000个用户。但过了一万,它就冻结了。我检查了CPU时间:它正在使用100%。
请告诉我该怎么做才能避免这种情况。
- 用户数= 20000循环计数= 1
- 我可以使用用户数= 10000和循环计数= 2吗?
1 &2?
我们没有单独的要求,只有在20000个用户中执行我们的脚本。
3: Jmeter Cloud允许的最大线程数是多少?
您从一台机器生成20000个用户负载,因此如果在云上使用分布式测试会更好。您可以这样准备您的场景:
主机:用户个数:10000,循环计数:1
对于2个从机,将得到double,或者如果您将使用3个从机,计数将变为triple(i。e 30000)。
你的回答:
1)20000个用户一次访问服务器,即一次迭代。2)10000个用户在一次迭代中到达服务器,之后10000个用户在第二次迭代中进入。
我猜分布式测试将帮助您降低CPU利用率。因为它减少了一台机器产生的负载
你应该删除所有的监听器
- 查看表 结果
- View Results in Tree
- 图结果
- 断言结果
- 分布曲线
- 图结果
使用非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%,则:
如果您的测试计划是错误的,请先阅读以下内容进行检查:
- http://www.ubik-ingenierie.com/blog/jmeter_performance_tuning_tips/
- http://jmeter.apache.org/usermanual/best-practices.html
你的机器或一组机器不够强大,你可以尝试使用分布式测试或一些基于云的商业解决方案:
- http://www.flood.io
- http://blazemeter.com/
最后回答你的问题1和2是非常不同的模拟