本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
运行测试场景
创建测试场景后,您可以立即运行它,也可以安排它在未来的特定时间运行。当您导航到正在运行的测试时,控制台会显示场景详细信息选项卡,其中包含实时任务状态和指标。
场景详细信息视图
场景详细信息选项卡显示有关您的测试的关键信息。任务状态表显示每个区域的实时信息。
任务状态表
任务状态表显示每个区域的实时信息:
-
区域 -运行任务的 AWS 区域
-
任务计数 -为该区域配置的任务总数
-
并发性 -每项任务的虚拟用户数量
-
正在运行 -当前正在执行测试的任务数
-
待处理 -等待启动的任务数
-
配置 -正在配置的任务数
测试执行工作流程
当测试开始时,会出现以下工作流程:
-
任务配置 -该解决方案在指定的 AWS 区域预置容器(任务)。任务显示在 “配置” 列中。
-
任务启动 -该解决方案会继续配置任务,直到每个区域达到目标任务数。任务从 “配置” 移至 “待处理” 再到 “正在运行”。
-
流量生成 -解决方案在一个区域中配置了所有任务后,它们开始向您的目标终端节点发送流量。
-
测试执行 -测试在配置的持续时间(加速 + 保持时间)内运行。
-
结果解析 -测试结束时,后台解析任务汇总并处理来自所有区域的结果。
测试运行状态
测试运行可能具有以下状态:
-
已计划 -测试计划在将来运行。
-
正在运行 -测试当前正在进行中。
-
已取消 -用户取消了正在进行的测试运行。
-
错误 -测试运行遇到错误。
-
完成 -测试运行成功完成,结果已准备就绪。
使用实时数据进行监控
如果您在创建测试场景时启用了实时数据,则可以在测试运行期间查看实时指标。实时指标部分显示四张图表,这些图表会随着测试的进展而持续更新,数据以一秒钟的间隔汇总。
图表描述
- 平均响应时间
-
显示每个区域处理的请求的平均响应时间(以秒为单位)。以秒为单位 Y-axis 显示响应时间, X-axis 显示一天中的时间。每个区域在图例中由不同的颜色表示。
- 虚拟用户
-
显示每个区域中活跃产生负载的并发虚拟用户的数量。该图显示了虚拟用户在测试期间如何提高水平并保持目标并发水平。
- 成功的请求
-
显示每个区域在一段时间内成功请求的累计次数。该图显示了成功请求的处理速率。
- 失败的请求
-
显示每个区域一段时间内失败请求的累计数量。计数较低或为零表示测试执行良好。
Multi-Region 可视化
在多个区域运行测试时,每个图表同时显示所有区域的数据。每个图表底部的图例标识了哪种颜色代表每个区域(例如,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 函数以停止所有剩余任务
注意
取消的测试需要时间才能完成关闭过程,因为解决方案会终止所有容器。清理完所有资源后,测试状态将更改为 “已取消”。