High-Load
以每分鐘 350,000 個請求進行負載測試
我需要一種方法來重現我們網站不久前經歷的突然流量激增,以便有機會保持我們的堆棧正常工作。
我們的負載均衡器在某個時間點報告說每分鐘執行大約 350k 個請求,從而破壞了從作業系統到關閉後端的所有內容。我嘗試研究執行這種突發測試的服務,但似乎在調整測試設置以匹配所需條件時,它的成本太高了。
如何以符合這些條件的方式對我的堆棧進行負載測試?
所以,這是每秒 5,833 個請求,雖然很多,但它是可行的。我建議使用一個名為
siege
. 嘗試不同的並發選項,直到您的輸出達到Transactions per second:
峰值siege
。您也可以使用ab
Apache 項目中的 (ApacheBench),但siege
功能更強大。然後,添加更多機器,直到總數達到 6,000 台。您可能可以經濟高效地使用 Amazon EC2,甚至只需在不同位置的不同 Internet 上行鏈路上設置幾台機器
ssh
即可訪問它們。您可以使用cron
或在所有機器上同時at
啟動siege
(確保時鐘首先同步)。至於使用外部公司進行測試,是的,這可能會非常昂貴,而且我不認為我可以指向任何特定的公司,但我過去曾與一些公司合作過. 這絕對是您可以用幾個小時的 EC2 時間自己完成的事情。
編輯
正如@HBruijn 令人敬畏地指出的那樣,有一個很棒的開源工具叫做Bees with Machine Guns,它可以通過 EC2 自動創建、拆卸和協調負載生成。這聽起來像是適合您情況的正確方法。