用AWS PaaS自带的benchmark命令给你的AWS跑跑分

在没有专业压测工具和用例设计时,AWS PaaS提供了一个内嵌的压测基准,包括一个压测程序和一系列基准脚本用例。

最初,这个基准程序只用于AWS平台研发中心内部,用来对比架构调整前后各项指标的基准差。对于私有部署AWS PaaS的用户,这个跑分程序也可以快速测试出您的AWS环境性能数据。

原理

  • 模拟50、100、200、400和600个并发请求
  • 每个请求循环执行100次(如50并发请求会执行5000次)
  • 无思考时间的发出和处理并发请求,直至跑完
  • 给出当前环境下的最佳并发处理能力和对应的TPS值(越大越好)

最佳是指多大并发量时系统处理的最快。(1)无错误(2)TPS(Transaction Per Second) 每秒系统能够处理的请求数最多

准备

  • 安装AWS PaaS
  • 各项服务启动正常

默认私有部署的AWS PaaS,Web端最大支持200并发,可以修改%AWS-HOME%/webserver/webapps/portal/WEB-INF/classes/aws-server.xml,将maxConnector做适当调整。通常可设置为压测期望最大并发*1.5倍

<maxConnector>900</maxConnector>  

使用

使用这个命令非常的方便。进入到%AWS-HOME%/bin目录,执行./benchmark.sh arg,参数arg是内嵌的用例名,支持以下六类场景:

  • ./benchmark.sh cpu,模拟CPU运算的逻辑,获得当前计算资源的TPS值
  • ./benchmark.sh io,模拟IO文件读写的逻辑,获得当前文件IO读写的TPS值
  • ./benchmark.sh http,模拟读取index.jsp的http请求,获得当前Web Server的TPS值
  • ./benchmark.sh aaa,模拟大并发、长事务处理下的框架稳定性(TPS值仅参考)
  • ./benchmark.sh cmd,模拟AWS MVC的接参、传参和逻辑处理,获得MVC框架的TPS值
  • ./benchmark.sh db,模拟数据库INSERT、SELECT操作,获得当前数据库服务的TPS值

benchmark是一种基于同一测试用例和测试方法来比较不同环境下AWS PaaS的性能差距。基于这个基准的得分,你可以初步做出这个AWS部署环境的性能更好更差的结果。也可以在调整各项参数(如AWS数据库连接池、数据库自身优化、操作系统句柄数优化等)后,再次比较前后的性能差异。

AWS PaaS#QA

继续阅读此作者的更多文章