本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行測試案例
建立測試案例之後,您可以立即執行它,或排定它在未來的特定時間執行。當您導覽至執行中的測試時,主控台會顯示案例詳細資訊索引標籤,其中包含即時任務狀態和指標。
案例詳細資訊檢視
案例詳細資訊索引標籤會顯示測試的重要資訊。每個區域的任務 staus 資料表即時資訊。
任務狀態資料表
任務狀態資料表顯示每個區域的即時資訊:
-
區域 - 執行任務的 AWS 區域
-
任務計數 - 針對區域設定的任務總數
-
並行 - 每個任務的虛擬使用者數量
-
執行中 - 目前正在執行測試的任務數量
-
待處理 - 等待啟動的任務數量
-
佈建 - 正在佈建的任務數量
測試執行工作流程
當測試開始時,會發生下列工作流程:
-
任務佈建 - 解決方案會在指定的 AWS 區域中佈建容器 (任務)。任務會出現在「佈建」欄中。
-
任務啟動 - 解決方案會繼續佈建任務,直到達到每個區域的目標任務計數為止。任務會從 "Provisioning" 移至 "Pending" 到 "Running"。
-
流量產生 - 在解決方案佈建區域中的所有任務之後,它們會開始將流量傳送到您的目標端點。
-
測試執行 - 測試在設定的持續時間 (漸進 + 保留時間) 內執行。
-
結果剖析 - 測試結束時,背景剖析任務會彙總和處理來自所有區域的結果。
測試執行狀態
測試執行可以有下列狀態:
-
已排程 - 測試排程於未來執行。
-
執行中 - 測試目前正在進行中。
-
已取消 - 使用者已取消進行中的測試執行。
-
發生錯誤 - 測試執行發生錯誤。
-
完成 - 測試執行已成功完成,且結果已準備就緒。
使用即時資料進行監控
如果您在建立測試案例時啟用即時資料,您可以在測試執行時檢視即時指標。即時指標區段會顯示四個圖形,隨著測試進行而持續更新,並以一秒的間隔彙總資料。
圖形描述
- 平均回應時間
-
顯示每個區域處理之請求的平均回應時間,以秒為單位。Y 軸顯示以秒為單位的回應時間,而 X 軸顯示一天中的時間。每個區域在圖例中以不同的顏色表示。
- 虛擬使用者
-
顯示在每個區域中主動產生負載的並行虛擬使用者數量。圖表顯示虛擬使用者在測試期間如何加速並維持目標並行層級。
- 成功的請求
-
顯示每個區域隨時間成功請求的累積計數。圖表顯示處理成功請求的速率。
- 失敗的請求
-
顯示每個區域隨時間失敗請求的累積計數。低計數或零計數表示測試執行狀態良好。
多區域視覺化
跨多個區域執行測試時,每個圖形會同時顯示所有區域的資料。每個圖形底部的圖例可識別代表每個區域的顏色 (例如 us-west-2 和 us-east-1)。
技術實作
Fargate 任務的 CloudWatch 日誌群組包含擷取測試結果的訂閱篩選條件。偵測到模式時,Lambda 函數會建構資料並將其發佈至 AWS IoT Core 主題。Web 主控台會訂閱此主題,並即時顯示指標。
注意
即時資料是暫時性的,只有在測試執行時才能使用。Web 主控台最多會保留 5,000 個資料點,之後會將最舊的資料取代為最新的資料點。如果頁面重新整理,則圖表將為空白,並從下一個可用的資料點開始。測試完成後,解決方案會將結果資料存放在 DynamoDB 和 Amazon S3 中。如果還沒有可用的資料,圖形會顯示「沒有可用的資料」。
取消測試
您可以從 Web 主控台取消執行中的測試。當您取消測試時,會發生下列工作流程:
-
取消請求會傳送至
microservicesAPI -
microservicesAPI 會呼叫task-cancelerLambda 函數,以停止所有目前啟動的任務 -
如果
task-runnerLambda 函數在初始取消呼叫後繼續執行,任務可能會短暫地繼續啟動 -
task-runnerLambda 函數完成後,AWS Step Functions 會繼續Cancel Test執行步驟,再次執行task-cancelerLambda 函數以停止任何剩餘的任務
注意
當解決方案終止所有容器時,取消的測試需要一些時間來完成關閉程序。清除所有資源後,測試狀態會變更為「已取消」。