2014-03-13 47 views
0

我想針對URL運行儘可能多的請求,並希望知道最佳方法是什麼。如何在Java中設計http壓力測試程序

需求觸發GET請求和讀取響應。

我開始時只是創建一個同步執行get和block的runnable。然後我把這些循環放入一個固定的線程池執行器中。使用100個線程運行它將導致每秒200個請求。

我也看過異步庫,如http://hc.apache.org/httpcomponents-asyncclient-4.0.x/,但運行這些將導致大量的永不退貨的期貨。

像NIO或異步庫這樣的東西有助於提高吞吐量,或者我應該如何解決這個問題?

+1

你看過Jmeter嗎? – fge

回答

1

Apache有一個免費的開源工具JMeter。它被設計爲HTTP負載測試,並通過嵌入式HTTP Proxy Server提供

  • 記錄和重放功能,用於快速診斷試劑發展
  • Assertions - 以確保響應時間不超過合理值,檢查響應內容,返回代碼,消息等
  • Listeners - 建立有助於分析負載測試結果的表格和圖表。
  • 已擁有多項的plugins其擴展基本功能
  • 使用一些像JavaScript支持的語言或Beanshell

希望這可以幫助您在您的測試,並從重新發明可以節省您的寶貴時間支持腳本改爲生產更好的產品。

+0

我知道JMeter,但是我對它後面的設計非常感興趣。 JMeter可以用相同的基礎庫創建更多的負載。它如何處理線程和IO。 – OliverS