概览
AWS 上的分步式负载测试可在批量和负载条件下自动完成软件应用程序测试,以帮助您在应用程序发布之前找出潜在的性能问题。此 AWS 解决方案可创建和模拟数千个已连接的用户,以稳定速度生成交易记录,而无需预置服务器。此解决方案还让您能够跨多个 AWS 区域运行测试。
优势
在 AWS Fargate 容器上使用独立的 Amazon Elastic Container Service(Amazon ECS)测试软件的负载能力。
通过创建自定义 JMeter 脚本定制您的应用程序测试。
计划负载测试以在指定日期或重复日期自动开始。
使用此解决方案的 Web 控制台查看正在运行的测试的实时数据。
技术详情
第 1 步
Amazon API Gateway API 可调用解决方案的微服务(AWS Lambda 函数)。
第 2 步
微服务提供业务逻辑来管理测试数据和运行测试。
第 3 步
这些微服务还与 Amazon Simple Storage Service(Amazon S3)、Amazon DynamoDB 和 AWS Step Functions 交互,以运行测试方案并为测试方案详细信息提供存储。
第 4 步
Amazon Virtual Private Cloud(Amazon VPC)网络拓扑结构包含在 AWS Fargate 上运行的解决方案 Amazon Elastic Container Service(Amazon ECS)容器。
第 5 步
容器包含 Taurus 负载测试 Open Container Initiative(OCI)合规容器映像,该映像可用于生成测试应用程序性能的负载。Taurus 是一个开源测试自动化框架。容器映像由 AWS 托管在 Amazon Elastic Container Registry (Amazon ECR) 公有存储库中。
第 6 步
由 AWS Amplify 提供支持的 Web 控制台部署到进行了静态 Web 托管配置的 S3 存储桶中。
第 7 步
Amazon CloudFront 提供至该解决方案的网站存储桶内容的安全公有访问。
第 8 步
初次配置期间,该解决方案还会创建一个默认解决方案的管理员角色,并且会向客户指定的用户电子邮件地址发送访问邀请。
第 9 步
Amazon Cognito 用户群体管理对控制台和 API Gateway API 的用户访问权限。
第 10 步
当您部署此解决方案后,您可以使用 Web 控制台创建定义一系列任务的测试方案。
第 11 步
这些微服务使用此测试方案在指定 AWS 区域中运行“Fargate 上的 Amazon ECS”任务。
第 12 步
除在 Amazon S3 和 DynamoDB 中存储结果外,测试完成后,输出结果还将录入 Amazon CloudWatch。
第 13 步
如果选择裡数据选项,则解决方案会在测试期间,将 Fargate 任务的 CloudWatch 日志发送到 Lambda 函数,用于测试运行的每个区域。
第 14 步
然后,Lambda 函数将数据发布到部署主堆栈所在区域的 AWS IoT Core 中的相应主题。Web 控制台订阅了该主题,您可以在 Web 控制台中运行测试时看到数据。
“在 Calabrio,我们的使命是帮助联络中心更智能、更快捷、更高效地工作。我们需要快速为一位重要客户设计一项全新的高性能功能。我们利用 AWS 上的分布式负载测试来大规模测试系统的性能,无需购买昂贵的企业测试许可证,也无需为开源工具编写自定义编排代码。借助这一 AWS 解决方案,我们在超出预期六倍的流量下设计并执行测试,并成功提前推出了这一新功能。”
相关内容
无论您是私人企业还是公共部门服务,您都需要确信您的应用程序可以随着用户负载的增加而扩展。AWS 上的分布式负载测试使您可以自动化应用程序测试、了解如何大规模执行测试,以及在发布应用程序前解决瓶颈。