本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設計考量
支援的應用程式
此解決方案支援雲端應用程式和內部部署應用程式,只要您有從 AWS 帳戶到應用程式的網路連線。解決方案支援使用 HTTP 或 HTTPS APIs。您也可以控制 HTTP 請求標頭,因此您可以新增授權或自訂標頭來傳遞權杖或 API 金鑰。
JMeter 指令碼支援
使用此解決方案的使用者介面 (UI) 建立測試案例時,您可以使用 JMeter 測試指令碼。選取 JMeter 指令碼檔案後,它會上傳至 <stack-name>-scenariosbucket Amazon Simple Storage Service (Amazon S3) 儲存貯體。執行 Amazon Elastic Container Service (Amazon ECS) 任務時,JMeter 指令碼會從 <stack-name>-scenariosbucket Amazon S3 儲存貯體下載,並執行測試。
如果您有 JMeter 輸入檔案,您可以將輸入檔案與 JMeter 指令碼一起壓縮。您可以在建立測試案例時選擇 zip 檔案。
如果您想要包含外掛程式,任何包含在綁定 zip 檔案中 /plugins 子目錄中的 .jar 檔案都會複製到 JMeter 擴充功能目錄,並可用於負載測試。
注意
如果您在 JMeter 指令碼檔案中包含 JMeter 輸入檔案,則必須在 JMeter 指令碼檔案中包含輸入檔案的相對路徑。此外,輸入檔案必須位於相對路徑。例如,當您的 JMeter 輸入檔案和指令碼檔案位於 /home/user 目錄中,而您參考 JMeter 指令碼檔案中的輸入檔案時,輸入檔案的路徑必須為 。/INPUT_FILES。如果您改為使用 /home/user/INPUT_FILES,則測試將會失敗,因為它將無法找到輸入檔案。
如果您包含 JMeter 外掛程式,.jar 檔案必須封裝在 zip 檔案根目錄中名為 /plugins 的子目錄中。相對於 zip 檔案的根目錄,jar 檔案的路徑必須是 ./plugins/BUNDLED_PLUGIN.jar。
如需如何使用 JMeter 指令碼的詳細資訊,請參閱 JMeter 使用者手冊
K6 指令碼支援
解決方案支援 K6 架構型測試。K6 使用 AGPL-3.0 授權發行。
Locust 指令碼支援
解決方案支援以 Locust 架構為基礎的測試。Locust 測試檔案以及任何必要的輸入檔案可以包含在封存檔案中,並使用上傳選項為測試案例上傳。
排程測試
您可以排定在未來日期執行測試,或使用立即執行選項。您可以將測試排程為未來的一次性執行,或設定週期性測試,在其中指定第一次執行日期和計劃週期。週期性的選項包括:每日、每週、每兩週和每月。如需排程如何運作的詳細資訊,請參閱本指南的測試排程工作流程一節。
從 3.3.0 版開始,AWS 上的分散式負載測試允許使用者使用 Cron 表達式排程負載測試。選取按排程執行,然後選取 CRON 標籤以手動輸入 Cron 值或使用下拉式清單欄位。cronExpiryDate 必須符合排定的測試執行日期。檢閱下一個執行日期 (UTC) 以確認您的排程。
注意
-
測試持續時間:考慮排程時的總測試持續時間。例如,具有 10 分鐘漸進測試時間和 40 分鐘保留時間的測試大約需要 80 分鐘才能完成。
-
最短間隔:確保排程測試之間的間隔長於預估測試持續時間。例如,如果測試大約需要 80 分鐘,請將其排程為每 3 小時執行一次。
-
每小時限制:系統不允許只以一小時的差異來排程測試,即使預估測試持續時間少於一小時。
並行測試
此解決方案包含每個測試的 Amazon CloudWatch 儀表板,並在 Amazon ECS 叢集中即時顯示針對該測試執行的所有任務的合併輸出。CloudWatch 儀表板會顯示平均回應時間、並行使用者數量、成功請求的數量,以及失敗請求的數量。每個指標都會以秒彙總,而且儀表板每分鐘都會更新一次。
使用者管理
在初始組態期間,您會提供 Amazon Cognito 用來授予您存取解決方案 Web 主控台的使用者名稱和電子郵件地址。主控台不提供使用者管理。若要新增其他使用者,您必須使用 Amazon Cognito 主控台。如需詳細資訊,請參閱《Amazon Cognito 開發人員指南》中的在使用者集區中管理使用者。
如需將現有使用者遷移至 Amazon Cognito 使用者集區,請參閱 AWS 部落格方法,以將使用者遷移至 Amazon Cognito 使用者集區
區域部署
此解決方案使用 Amazon Cognito,僅適用於特定 AWS 區域。因此,您必須在可使用 Amazon Cognito 的區域部署此解決方案。如需依區域分類的最新服務可用性,請參閱 AWS 區域服務清單