本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设计注意事项
受支持的应用程序
此解决方案支持基于云的应用程序和本地应用程序,前提是您的 AWS 账户与应用程序之间存在网络连接。该解决方案支持 APIs 使用 HTTP 或 HTTPS。您还可以控制 HTTP 请求标头,因此您可以添加授权或自定义标头来传递令牌或 API 密钥。
JMeter 脚本支持
使用此解决方案的用户界面 (UI) 创建测试场景时,可以使用 JMeter 测试脚本。选择 JMeter 脚本文件后,它会上传到 <stack-name>-scenariosbucket Amazon Simple Storage Service (Amazon S3) 存储桶。当亚马逊弹性容器服务 (Amazon ECS) Container Service 任务运行时,脚本 JMeter 将从-scenari <stack-name>osbucket Amazon S3 存储桶下载并运行测试。
如果您有 JMeter 输入文件,则可以将输入文件与 JMeter 脚本一起压缩。您可以在创建测试场景时选择 zip 文件。
如果要包含插件,则捆绑的 zip 文件的 /plugins 子目录中包含的任何.jar 文件都将被复制到 JMeter 扩展目录中,可供负载测试。
注意
如果在 JMeter 脚本文件中包含 JMeter 输入文件,则必须在 JMeter 脚本文件中包含输入文件的相对路径。此外,输入文件必须位于相对路径上。例如,当您的 JMeter 输入文件和脚本文件位于/ home/user directory and you refer to the input files in the JMeter script file, the path of input files must be ./INPUT_FILES. If you use /home/user/INPUT _FILES中时,测试将失败,因为它无法找到输入文件。
如果包含 JMeter 插件,则.jar 文件必须捆绑在 zip 文件根目录下名为 /plugins 的子目录中。相对于压缩文件的根目录,jar 文件的路径必须是。 /plugins/bundled_plugin.jar。
有关如何使用 JMeter 脚本的更多信息,请参阅JMeter 用户手册
K6 脚本支持
该解决方案支持基于 K6 框架的测试。K6 以 AGPL
Locust 脚本支持
该解决方案支持基于 Locust 框架的测试。Locust 测试文件以及任何必要的输入文件可以包含在存档文件中,并使用上传选项上传测试场景。
安排测试
您可以将测试安排在将来的某个日期运行,也可以使用 “立即运行” 选项。您可以将测试安排为将来的一次性运行,也可以设置定期测试,在测试中指定首次运行日期和计划周期。复发选项包括:每天、每周、每两周和每月。有关计划工作原理的更多信息,请参阅本指南的测试计划工作流程部分。
从版本 3.3.0 开始,AWS 上的分布式负载测试允许用户使用 cron 表达式安排负载测试。选择 “按计划运行”,然后选择 “CRON” 选项卡,手动输入 cron 值或使用下拉字段。 cronExpiryDate 必须与预定的测试运行日期相匹配。查看下次运行日期 (UTC) 以确认您的日程安排。
注意
-
测试时长:安排考试时请考虑测试的总持续时间。例如,启动时间为 10 分钟、保持时间为 40 分钟的测试大约需要 80 分钟才能完成。
-
最小间隔:确保计划测试之间的间隔长于预计的测试持续时间。例如,如果测试需要大约 80 分钟,则将其安排为不超过每 3 小时运行一次。
-
每小时限制:即使预计的考试时间少于一小时,系统也不允许安排只有一小时差异的测试。
并行测试
该解决方案包括每个测试的 Amazon CloudWatch 控制面板,并实时显示 Amazon ECS 集群中为该测试运行的所有任务的组合输出。 CloudWatch 控制面板显示平均响应时间、并发用户数、成功请求数和失败请求数。每个指标按秒汇总,仪表板每分钟更新一次。
User management
在初始配置期间,您需要提供一个用户名和电子邮件地址,Amazon Cognito 使用该用户名和电子邮件地址来授予您访问解决方案网络控制台的权限。控制台不提供用户管理。要添加其他用户,您必须使用 Amazon Cognito 控制台。有关更多信息,请参阅 Amazon Cognito 开发者指南中的管理用户池中的用户。
要将现有用户迁移到 Amazon Cognito 用户池,请参阅 AWS 博客《将用户迁移到 Amazon Cognito 用户池的方法
区域部署
此解决方案使用 Amazon Cognito,仅在特定的 AWS 区域可用。因此,您必须在可用 Amazon Cognito 的地区部署此解决方案。有关各地区的最新可用服务,请参阅 AWS 区域服务列表