

# PERF05-BP04 對工作負載執行負載測試
<a name="perf_process_culture_load_test"></a>

 對工作負載執行負載測試，以確認可以處理生產負載並找出任何效能瓶頸。 

 **常見的反模式：** 
+  您載入測試工作負載的個別部分，而非整個工作負載。 
+  您在與生產環境不同的基礎設施上載入測試。 
+  您只對預期的 (而非超標) 負載進行負載測試，以協助預測未來可能發生問題的位置。 
+  您可以直接執行負載測試，而無需諮詢 [Amazon EC2 測試政策](https://aws.amazon.com/ec2/testing/) 並提交模擬事件提交表格。這會導致測試無法執行，因為它看起來像拒絕服務事件。 

 **建立此最佳實務的優勢：** 在負載測試下測量效能時，會顯示負載增加時會受到影響的位置。這可在變更影響工作負載之前，讓您先預測所需的變更。 

 **未建立此最佳實務時的曝險等級：** 低 

## 實作指引
<a name="implementation-guidance"></a>

 雲端中的負載測試是在實際條件下，以預期的使用者負載來衡量雲端工作負載效能的程序。此程序包括佈建類似生產環境的雲端環境、使用負載測試工具產生負載，以及分析指標，以便評估您的工作負載處理實際負載的能力。必須使用生產資料的綜合或處理過的版本 (移除敏感或可識別身分的資訊) 執行負載測試。在交付管道中自動執行負載測試，並將結果與預先定義的 KPI 和閾值進行比較。此程序可幫助您繼續實現所需的效能。 

### 實作步驟
<a name="implementation-steps"></a>
+  根據生產環境設定測試環境。您可以使用 AWS 服務執行生產規模的環境，進而測試架構。 
+  選擇並設定適合您工作負載的負載測試工具。 
+  定義負載測試方案和參數 (如測試持續時間和使用者數量)。 
+  大規模執行測試方案。利用 AWS 雲端 測試工作負載，以發現無法擴展的地方或是否以非線性方式擴展。例如，使用 Spot 執行個體以低成本產生負載，並在生產中遇到瓶頸之前發現瓶頸。 
+  監控和記錄效能指標 (例如輸送量和回應時間)。Amazon CloudWatch 可以收集架構中各個資源的指標。您還可以收集和發佈自訂指標以顯示業務或衍生指標。 
+  分析結果以找出效能瓶頸和需要改善的區域。 
+  記錄和報告負載測試程序和結果。 

## 資源
<a name="resources"></a>

 **相關文件：** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [AWS 上的分散式負載測試](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **相關影片：** 
+  [使用 AWS 解決方案解決問題：分散式負載測試](https://www.youtube.com/watch?v=Y-2rk0sSyOM) 
+  [透過 Amazon CloudWatch RUM 最佳化應用程式](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 的示範](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **相關範例：** 
+  [AWS 上的分散式負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 