我開始在JMeter中編寫一些基本測試,並且感到驚訝的是測量結果與Apache ab中的測量結果差別很大。JMeter或Apache ab可以獲得正確的測量結果嗎?
我有一個千兆局域網連接運行Nginx的英特爾i7服務器和運行JMeter或ab的i5測試機器。最初,我只是測試開箱即用的Nginx主頁響應率。
ab -c 1 -n 100 http://testserver.local/
給
Document Path: /
Document Length: 151 bytes
Concurrency Level: 1
Time taken for tests: 0.078 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 38400 bytes
HTML transferred: 15100 bytes
Requests per second: 1280.77 [#/sec] (mean)
Time per request: 0.781 [ms] (mean)
Time per request: 0.781 [ms] (mean, across all concurrent requests)
Transfer rate: 480.29 [Kbytes/sec] received
這個結果是一致地重現,+/-百分之幾。
在JMeter的,我具有包含1-用戶100環線程組:
- HTTP頭管理器設置的Accept-Encoding:gzip的
- 一個HTTP GET /採樣
- 總結報告收聽者
只有100個樣本,每次運行結果都不一致。但最令人吃驚的事實是吞吐量低至每秒40個請求(不是1280個)。最高的記錄率是1030,這隻有當我增加到10000個樣本時才能達到。
我是否認爲JMeter是簡單負載測試的錯誤工具,因爲它的開銷太高,無法進行準確的測量?
+1,但我認爲你的結論是正確的。 – 2012-04-21 15:58:02