

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Backend
<a name="back-end"></a>

後端包含容器映像管道和負載測試引擎，您用來為測試產生負載。您可以透過前端與後端互動。此外，針對每個測試啟動的 AWS Fargate 任務上的 Amazon ECS 會以唯一的測試識別符 (ID) 標記。這些測試 ID 標籤可用來協助您監控此解決方案的成本。如需詳細資訊，請參閱《*AWS Billing and* [Cost Management 使用者指南》中的使用者定義的成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html)。

## 容器映像管道
<a name="container-image-pipeline"></a>

此解決方案使用以 [Amazon Linux 2023 ](https://aws.amazon.com/linux/amazon-linux-2023/)建置的容器映像，做為已安裝 [Taurus](https://gettaurus.org/) 負載測試架構的基礎映像。Taurus 是一種開放原始碼測試自動化架構，支援 JMeter、K6、Locust 和其他測試工具。AWS 會在 Amazon Elastic Container Registry (Amazon ECR) 公有儲存庫中託管此映像。解決方案會使用此映像在 AWS Fargate 叢集上的 Amazon ECS 中執行任務。

如需詳細資訊，請參閱本指南的[容器映像自訂](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/container-image.html)一節。

## 測試基礎設施
<a name="testing-infrastructure"></a>

除了主要 CloudFormation 範本之外，解決方案還提供區域範本，以啟動在多個區域中執行測試所需的資源。解決方案會將此範本存放在 Amazon S3 中，並在 Web 主控台中提供其連結。每個區域堆疊都包含 VPC、AWS Fargate 叢集，以及用於處理即時資料的 Lambda 函數。

如需如何在其他 區域中部署測試基礎設施的詳細資訊，請參閱本指南的[多區域部署](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/multi-region-deployment.html)一節。

## 負載測試引擎
<a name="load-testing-engine"></a>

分散式負載測試解決方案使用 Amazon Elastic Container Service (Amazon ECS) 和 AWS Fargate 模擬多個區域的數千名並行使用者，以持續的速度產生 HTTP 請求。

您可以使用隨附的 Web 主控台來定義測試參數。解決方案使用這些參數來產生 JSON 測試案例，並將其存放在 Amazon S3 中。如需測試指令碼和測試參數的詳細資訊，請參閱本節中的[測試類型](design-considerations.md#test-types)。

AWS Step Functions 狀態機器會在 AWS Fargate 叢集中執行和監控 Amazon ECS 任務。AWS Step Functions 狀態機器包含 ecr-checker AWS Lambda 函數、task-status-checker AWS Lambda 函數、任務執行器 AWS Lambda 函數、任務取消器 AWS Lambda 函數，以及結果剖析器 AWS Lambda 函數。如需工作流程的詳細資訊，請參閱本指南的測試[工作流程](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-workflow.html)一節。如需測試結果的詳細資訊，請參閱本指南的[測試結果](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-results.html)一節。如需測試取消工作流程的詳細資訊，請參閱本指南的測試[取消工作流程](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-cancel-workflow.html)一節。

如果您選取即時資料，解決方案會透過對應至該區域中 Fargate 任務的 CloudWatch 日誌，real-time-data-publisher Lambda 函數。解決方案接著會在您啟動主要堆疊的區域中，處理資料並將其發佈至 AWS IoT Core 中的主題。如需詳細資訊，請參閱本指南的[即時資料](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/live-data.html)一節。