2012-07-31 199 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和大量客戶端機器來生成負載。你的單機不足以生成負載本身。