系统:
我有以下的JMeter设置为分布式的,非GUI测试:1主VM,2个从。所有三个都是Azure VM:Ubuntu16.04,4 vcpus,16 RAM内存
我已经遵循了这个JMeter调优指南,并且没有看到改进的结果:https://www.blazemeter.com/blog/9-easy-solutions-jmeter-load-test-%E2%80%9Cout-memory%E2%80%9D-failure
我还根据EMQ调优指南对所有三个系统进行了调整:http://emqtt.io/docs/v2/tune.html
问题:I仍然无法在5000年(1h23m)和2个从VM上实现50,000个连接。
根据JMeter文档,我可以在每个VM中以x的时间运行1000个线程:
25.5限制,3.在2-3 JMeter CPU (最近的CPU)上运行的单个GHz客户端可以根据测试类型处理1000-2000线程。 step.html
我能够在实践中验证这一点。我也能够验证,我可以达到最多12,000线程超过600 s。(任何时候都会有12,500个线程导致JVM OOM异常)
由于目标服务器是运行EMQ实例的VM,我将注意到,官方的EMQ负载测试文档将测试代理描述为1 VM 30000 VU (2个dockers*15000 VU )。(http://emq-xmeter-benchmark-en.readthedocs.io/en/latest/connection.html#ssl-authentication)
问题:,我想知道是否存在允许更多线程的JMeter (+虚拟机+ VirtualBox或Docker或其他服务)的已知实现。或者,如果有一个已知的JMeter优化,我还没有解决呢?
发布于 2018-06-26 06:39:23
JMeter可以启动的虚拟用户的数量取决于测试的性质,也就是说:
因此,不要相信一个JMeter实例可以模拟1000线程的说法。也不相信它可以处理15000线程的说法。这仅仅是因为他们没有在您的硬件和软件条件下运行您的测试。如果您的测试计划有一个具有零连接、延迟和响应时间的虚拟采样器,那么您可以获得超过10万用户,但是这个测试并不具有代表性。
关于您的设置,我只能考虑在同一台机器上运行3 .jmx从引擎,在这台机器上,主作为jmeter主引擎,基本上除了向奴隶发送.jmx脚本和收集结果之外,什么也不做。如果你的主人和奴隶拥有相同的硬件规格,你可以利用剩余的能力来产生更高的负载。
https://stackoverflow.com/questions/51030970
复制相似问题