

# PERF01-BP06 對現有工作負載進行基準化分析
<a name="perf_performing_architecture_benchmark"></a>

 對現有工作負載的效能進行基準化分析，以了解工作負載在雲端的效能。使用從基準化分析中收集的資料，來推動架構決策。 

 使用基準化分析搭配綜合測試和實際使用者監控，以產生與工作負載元件效能相關的資料。與負載測試相比，基準化分析通常速度更快；要評估特定元件的技術時，會使用基準化分析。當您缺少執行負載測試的完整解決方案時，通常可在新專案開始時使用基準化分析。 

 您可以建置自己的自訂基準化分析測試，也可以使用產業標準測試，例如 [TPC-DS](http://www.tpc.org/tpcds/) ，來對資料倉儲工作負載進行基準化分析。比較環境時，產業基準化分析很有幫助。對於確定您希望在架構中進行的特定營運類型，自訂基準化分析非常實用。 

 基準化分析時，務必要預熱測試環境，以確保獲得有效的結果。多次執行相同的基準化分析，以確保您已擷取到隨時間推移出現的任何變化。 

 由於基準化分析的速度通常比負載測試要快，因此可以在部署管道中盡早使用基準化分析，以便能更快提供有關效能偏差的回饋。當您評估元件或服務中的重大變更時，藉助基準化分析，您可以更快速地查看所做的變更是否合理。請務必使用基準化分析搭配負載測試，因為負載測試將告訴您工作負載在生產中的效能。 

 **常用的反模式：** 
+  您倚賴不表現工作負載特性的常見基準測試。 
+  您依賴客戶意見回饋和感受做為唯一的基準測試。 

 **建立此最佳實務的優勢：** 對目前的實作進行基準化分析，可讓您測量效能改善。 

 **若未建立此最佳實務，暴露的風險等級：** 中 

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

 在開發過程中監控效能：實作可隨著工作負載的演進而提供效能可見度的程序。 

 整合到交付管道：在您的交付管道中自動執行負載測試。將測試結果與預先定義的關鍵績效指標 (KPI) 和閾值進行比較，以確保您能持續符合效能需求。 

 測試使用者之旅：使用生產資料的綜合或處理過的版本 (移除敏感或身份資訊) 進行負載測試。透過在整個應用程式中使用重新執行或預先程式化的使用者之旅來測試整個架構。 

 實際使用者監控：使用 CloudWatch RUM 來協助您收集和檢視有關應用程式效能的用戶端資料。使用此資料可協助建立您的實際使用者效能基準測試。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [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) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [透過 Amazon CloudWatch RUM 優化應用程式](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 的示範](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [分散式負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [使用 Amazon CloudWatch Synthetics 測量頁面載入時間](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web 用戶端](https://github.com/aws-observability/aws-rum-web) 