2012-07-31 198 views
0

我想通过在同一毫秒内点击几百次来加载测试URL。我试过JMeter,但是我可以在相同的毫秒内打2个请求。这似乎是我的机器不能足够快地创建线程的问题。有没有解决这个问题的方法?JMeter负载测试

+1

使用异步请求。你正在测试自己的压力。 – Wug 2012-07-31 17:13:19

回答

3

在JMeter中您可以使用同步计时器将它设置为100,这样一来所有的线程将等到有100个可用,点击服务器:

另一种解决方案是增加线程的数量,以便达到这个吞吐量。 在JMeter的下一个版本(2.8)中,您将能够按需创建线程(一旦需要创建)。 反正在同样的毫秒内打几百次是一个很高的负载,所以你必须正确调整JMeter。

问候

菲利普

1

JMeter使用阻塞HTTP客户端,为了在100个req​​eusts的同一时间点击服务器,您需要JMeter中的100个线程。即使如此,您仍然没有100个内核来同时运行这些代码。即使你有100个内核,启动一个线程也需要一些时间,所以你必须提前启动它们并在某种障碍上同步。这在JMeter中不受支持。

为什么你真的想在同一毫秒运行你的服务器“”?一个普通的负载测试只是尽可能多的连接调用服务器,但不一定在同一时间。此外,有时您甚至会在请求之间添加随机睡眠以模拟所谓的思考时间

1

按照菲利普的回答,JMeter的确实事实上支持同步请求。但是,对于你想要的东西,例如Apache Bench,使用-c100(或将其调整为任何作品)可能是更好的选择?这是非常基本的东西,但开销是很小,这可能有助于在这种情况下。

但我也会从托马斯的回答中窃取,并回应他的担忧,也许这不是真正实现负载测试的最佳方式。如果您试图复制真实生活流量,那么您是否真的需要如此高水平的并发性?

0

您需要使用Jmeter-server和大量客户端机器来生成负载。你的单机不足以生成负载本身。