2012-06-25 32 views
0

我想了解JMeter的基礎知識。我有一個「plus1」Java servlet,它向請求參數添加一個並返回結果,所以它是一個快速測試servlet,所以我可以理解負載測試。在線程內,JMeter HTTP請求/響應是否按順序完成?

這裏是我的測試計劃:

Thread Group: 1 thread, ramp up 1 s, loop count 10000 
    HTTP Request to localhost 
    Graph Results 
    Summary Report 

當我運行此,總結報告顯示,200 /秒左右的產量數字。

測試計劃中沒有控制器的關鍵問題是JMeter運行測試計劃(發送單個請求)並在循環之前等待響應?

當我爲請求引入了一個計算量更大的頁面時,吞吐量數字就像我預期的那樣下降了。

回答

4

總之,是的。

有一個參數可以讓採樣器發出請求,而不是等待響應,但這是一個邊緣情況。在大多數情況下,您會希望測試工具等待查看結果並驗證事情。它也更現實,大多數用戶在進行後續調用之前都會等待響應,事實上他們通常必須這樣做。

如果要運行容量測試,我認爲最好的方法是將負載分散到多個線程中,並實際節制每個線程的吞吐量 - 您可以使用Constant Throughput Controller來執行此操作。例如。你可以有500個線程,每個線程每分鐘執行60次請求,這會產生500次/秒的總負載。這樣,您的測試負載就可以預測並且穩定 - 它不會與服務器的響應速度相關聯。注意。有多個線程你需要一段時間,你可能會發現你必須在多臺機器上進行測試(如果你打算谷歌,那麼稱爲「分佈式」測試)。

相關問題