REL07-BP04 對工作負載執行負載測試 - 可靠性支柱

REL07-BP04 對工作負載執行負載測試

採用負載測試方法,衡量擴展活動是否能達到工作負載要求。

重要的是執行持續的負載測試。負載測試應探索中斷點並和測試工作負載的效能。AWS 讓您可以輕鬆設定臨時測試環境,以塑造生產工作負載的規模。在雲端中,您可隨需建立生產規模的測試環境、完成測試,再將資源除役。因為您只為執行中的測試環境付費,所以能以與內部部署測試相較之下相當微小比例的成本來模擬即時環境。

在生產系統承受壓力的演練日,以及客戶使用量較低的時段,應將生產中的負載測試納入考慮,並動員所有在場人員共同分析結果並處理可能出現的問題。

常見的反模式:

  • 在與生產組態不同的部署上執行負載測試。

  • 只對工作負載的個別部分而非整個工作負載執行負載測試。

  • 使用請求的子集而非代表的實際請求集合來執行負載測試。

  • 依據高於預期負載的小型安全係數執行負載測試。

建立此最佳實務的優勢: 您會知道架構中的哪些元件在負載時失效,並能夠識別要監看哪些指標,以便及時識別接近該負載的跡象,從而解決問題並避免由此失效造成的影響。

未建立此最佳實務時的曝險等級:

實作指引

  • 執行負載測試,以識別工作負載的哪些層面指出您必須新增或移除容量。負載測試的代表性流量應該與您在生產環境中收到的流量相似。在觀看您已檢測的指標時增加負載,以判斷哪些指標指出何時必須新增或移除資源。

    • 在 AWS 上執行分散式負載測試:模擬數千名連線的使用者

      • 識別請求混合。您可能會有不同的請求混合,因此您應該在識別流量混合時查看各種時間範圍。

      • 實作負載驅動程式。您可以使用自訂程式碼、開放原始碼或商業軟體實作負載驅動程式。

      • 一開始用小容量執行負載測試。您在負載驅動到較小容量 (可能和單一執行個體或容器一樣小) 之後立刻發現一些影響。

      • 對較大容量執行負載測試。在分散式負載上的效果會有所不同,因此您必須盡可能在接近產品環境的條件下進行測試。

資源

相關文件:

相關影片: