2016-05-26 85 views
0

我必須測試我的rest API,以便同時進行100k API調用(在500ms內)。任何想法如何模擬它?使用實用工具?100k HTTP請求同時

+0

有幾個基於雲的產品 – NimChimpsky

+0

這個大小和時間框架對於人類用戶羣體是可疑的。人類是混亂的工具,這種協調通常需要時鐘滴答和自動代理。考慮使用您的Web/Web服務請求日誌驗證到達模型是否爲交叉檢查。如果發送的信息是相同的,那麼在架構上,您可能會認爲與CDN配對的推送模式可讓所有100K用戶幾乎即時接收信息,而無需承擔主機上的請求負載。 –

回答

0

JMeter

阿帕奇JMeter的™應用程序是開源軟件,一個100%純 Java應用程序設計成加載測試功能行爲和測量 性能。它最初設計用於測試Web應用程序 ,但後來擴展到其他測試功能。

2

我也會建議使用JMeter,它使您的測試能夠創建多個併發的jmeter服務器。爲了清楚起見,您可以從單個JMeter客戶端控制多個遠程JMeter引擎,並在多臺計算機上覆制測試,從而模擬目標服務器上的更大負載。

說實話,你的目標是相當高的(在500毫秒內同時進行100k API調用),即你需要很多jmeter服務器。當你創造壓力測試時,沒有神奇的食譜,指南或手冊。反覆試驗是解決這類問題的根本方法。

根據我的經驗,我首先嚐試了很少的併發用戶,看看服務器如何反應。然後增加併發用戶的數量,直至達到不可容忍的性能下降或最壞的瓶頸。

http://jmeter.apache.org/usermanual/remote-test.html

enter image description here

1

你會明顯需要一個負載測試工具,它可以在分佈式模式下運行,即,1個控制器和X的負載生成器執行相同的測試。

  • Grinder - 腳本是用一些Python方言
  • Apache JMeter - 這傢伙不需要任何特定的知識,你可以創建一個使用簡單的GUI
  • Tsung測試 - 寫在Erlang着稱的能力即使在低端硬件上也能產生高負載。

有關上述工具的更多信息,請參閱Open Source Load Testing Tools: Which One Should You Use?文章。