亚马逊云科技为客户提供可扩展、分布式、无服务器架构,以交付用于 Web 应用程序性能测试的负载测试工具。此解决方案可自动启动并配置在 Amazon Fargate 上运行的容器,从而帮助您轻松创建和模拟数千个连接用户,无需预置服务器便能每秒钟生成选定数量的交易。该解决方案提供应用程序性能监控,可帮助您理解您的应用程序如何以预期负载大规模地完成执行,在发布应用程序前识别瓶颈。
亚马逊云科技解决方案概述
下图显示了您可以使用该解决方案实施指南和随附的 Amazon CloudFormation 模板自动部署的架构。
这个解决方案利用Amazon CloudFormation实现分布式压测平台的自动部署。整个方案由以下几个模块组成:
– 基于Amazon API Gateway,Amazon Step Functions,Amazon Lambda的测试调度模块。测试调度模块利用Amazon Step Functions实现测试流程的编排,通过Amazon Lambda调用Amazon Elastic Container Service(Amazon ECS) Fargate 来启动容器集群并行执行测试脚本。
– 基于Amazon ECS Fargate的负载引擎模块。容器集群资源的创建,扩展,销毁等运维工作则交由Amazon ECS Fargate负责。集群单个任务完成后会将测试结果以.xml的格式存储在Amazon S3中留待进一步处理。
– 基于Amazon Amplify构建的Web控制台。这个控制台托管在Amazon S3中,通过Amazon CloudFront提供对该Web控制台的访问加速和安全调用。
– 基于Amazon DynamoDB,Amazon S3的测试数据存储模块。待所有指定任务完成后,测试结果将通过Amazon Lambda进行汇聚并存储在DynamoDB中。同时,利用Amazon CloudWatch实现对应图表的展示。
注意在Amazon CloudFormation启动时,您需要在选项中输入已备案的自有域名(CNAME)以便部署过程中同Amazon CloudFront进行关联。待解决方案部署完毕后,您可以通过该自有域名访问Web控制台开始创建测试用例,监控测试流程和查看测试结果。
除此之外,该解决方案会创建一个Amazon Virtual Private Cloud(Amazon VPC)。VPC为Amazon ECS Fargate容器集群提供了安全可靠,灵活可配的虚拟联网环境。
这个解决方案采用开源的Taurus测试自动化框架。Taurus主要被用于生成测试负载以测试用户应用程序性能。此解决方案在部署的时候,会从Amazon公共镜像库(Amazon ECR Public Gallery)中拉取含有Taurus及其依赖包的Docker Image(https://gallery.ecr.aws/p9r6s5p7/dlt)。出于安全性和网络性能考虑,用户也可以将该容器镜像拉取到本地并上传托管到您自己的Amazon Elastic Container Registry(Amzon ECR)中。
https://s3.cn-north-1.amazonaws.com.cn/aws-dam-prod/china/Solutions/distributed_load_testing/distributed-load-testing-platform-deployment-guide.pdf
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/96209.html