聚合数据
应用打压完成后,需要一些指标来评估压测结果,常见的指标有:
最大响应时间
平均响应时间
QPS
TP90
TP50
压测工具采用了 InfluxDB 来完成数据的聚合工作。
以TP90为例子,仅需要一行查询就能实现需求。
架构
整体而言,整个打压过程如下:
实践
拷贝流量
美团内部的服务大多使用Java来构建,VCR以Maven Package的方式提供给用户。
对用户来说只需要2行代码可以拷贝流量。
为了不影响线上服务,通常选取单台机器进行流量拷贝工作。
一旦流量拷贝完成后,通过Web界面,用户能够查看日志的收集情况和单条日志的详情。
压测逻辑实现
压测工具采用Groovy来进行编写。对每个应用来说,只需要实现runner接口就可以实现对应用的打压。
以Thrift服务为例:
创建应用
实现以上接口后,就可以对应用进行打压了。
用户可以通过Web界面创建应用,除了必填配置以外,用户可以按照应用灵活配置。
性能指标
用户可以通过直观的图表来查看应用的各种性能指标。
结束语
压测工具上线以来,已经接入了20多个应用,完成数百次打压实验,现在应用的接入时间仅需要15~30分钟。保证了美团服务的稳定和节省了开发同学的时间,使大家告别了以往繁琐冗长的打压测试。
欢迎对这方面有兴趣的同学一起讨论。
原文转自:http://www.testwo.com/article/592