vlambda博客
学习文章列表

全链路压测线上化和平台化

对于性能测试人员最大的痛点是我们做了完整的性能测试过程,但是上线后仍然出现了性能问题。是性能测试的问题还是其他问题导致的,无非有以下几点:

1、性能测试不充分,未挖掘出被测系统的完整线上使用场景

2、性能测试业务模型设计失真,跟线上存在一定差异性

3、性能测试指标设计不符合被测系统线上要求

4、性能测试环境跟生产环境硬件和参数配置存在差异性(尤其突出)

基于以上几点目前的性能测试模式急需要得到大的改观。也就是需要性能测试设计精准化能够跟线上无缝对接,那就是目前比较流行的线上全链路压测,包括一些专有名词标记、影子库、流量构造、智能化压测平台、全链路压测生态。

全链路压测底层模型:

阿里全链路压测平台:


全链路压测的流量平台是一个典型的master+slave结构,master作为压测管控台管理着上千个slave节点;slave节点作为压测引擎,负责具体的请求发送。Master作为整个压测平台的大脑,负责的整个平台的运转控制、命令发送、数据收集、决策等。slave节点部署在全球各地的cdn节点上,从而模拟从全球各地过来的用户请求。整套全链路压测的流量平台在压测过程当中平稳输出1000w+/s的用户请求、同时保持过亿的无线用户长链接。

阿里的淘宝和其他产品所产生的流量是目前其他同类型中最高的,因此阿里的性能生态也是业界做的比较好的,特别是阿里的PTS平台,下面我们就来从阿里亲历者的叙述中,了解阿里的性能测试的迭代过程(从1.0到3.0到今天的建设过程):