我有一个jmeter瓶颈吗?

问题描述 投票:1回答:3

首先是applogies,如果已经被问到但我似乎无法在任何地方找到它。

这是场景。

我有一个带有8GB内存的8 CPU Linux物理盒,我正在对http://www.xpto.com/info.php运行一个简单的HTTP jmeter测试,这将给我一个典型的php信息页面。

如果我针对一个VM运行10个线程的测试,我会得到以下结果: - 158s中的摘要= 177665 = 1122.5 / s平均值:8分钟:4最大值:217错误:0(0.00%)

现在,当我做同样的测试,但是再次使用40个线程4 VMS时,结果不会外推,所以我得到的结果是: - summary = 535859 in 338s = 1584.6 / s Avg:24 Min:2 Max:155 Err :0(0.00%)

4个vms位于不同的Hypervisor上,因此它们不会相互影响。 VMS是SL6.4,具有8GB内存和8个CPUS。

看看jmeter框我可以看到我有足够的可用内存,没有内存错误,而java进程正在使用80%的cpu。 jmeter盒上的负载为0.5,并且92%cpu空闲,或者左右。

问题是,你认为这可能是一个jmeter瓶颈吗?我已经看到我对其他网址的任何测试都有这种结果。

谢谢您的帮助。

-John

jvm jmeter virtual-machine
3个回答
0
投票

在您点击服务器之前,可能在JMeter客户端中出现了当前的瓶颈。确定原因并不总是很容易,可能是JVM限制。您可以使用jconsole或jvisualvm来获取更多线索。还要检查在到达服务器之前可能影响事物的带宽和其他限制。

服务器是否使用通用DB?或普通日志?在责怪客户之前,请确保排除了其他所有内容。

如果JMeter是瓶颈,很容易测试。同时从另一个客户端加载服务器,看它是否影响jmeter客户端结果。

使用重量级客户端框,在localhost上运行分布式从服务器可能更好,因此您拥有更多JVM,每个JVM都有自己的资源。

JMeter客户端不能很好地扩展,这就是分布式测试很有用的原因。客户并不需要按比例扩展,只要有一种方法可以在服务器上保持不断增加的负载,并且它是可测量的。


0
投票

我最近看到过类似的东西。对我来说,快速解决方案是转向使用Master-Slave JMeter执行并在VM中启动更多JMeter从站。在我的情况下,我已经能够将8个JMeter VM放在同一个物理机器上,并以这种方式扩展我的测试。还在研究如何从裸机上的单个JMeter获得相同数量的负载。


-1
投票

这里没有直接的答案,只是一些建议:

你好

© www.soinside.com 2019 - 2024. All rights reserved.