全链路压测分析
PerformanceRunner(以下简称PR),主要是能够针对不同的网络协议,模拟上百万虚拟用户(VU),产生海量的压力,测试应用系统的响应能力。
随着应用系统越来越复杂,比如从单节点到集群,从单个层次到多层次、微服务,我们就需要知道压力的链路是如何传导的,压力负载在每个节点时多少,哪个压力节点无法承受压力。这就是全链路压测。
PerformanceOne(以下简称PO),会支持多不同应用、不同节点的全链路压测,发现压力传导,找到性能瓶颈。
PO支持包括ngix、mysql、oralce、tomcat、redis等各种常用应用平台和架构,以及针对每个架构的几十种计数器。我们根据自己的关注点,对计数器进行筛选,在压测过程中检测各个计数器,发现瓶颈。
从压测工具到压测平台
PR与LR、jmeter等压测工具一样,主要是单机部署使用。在一定程度上,无法实现:性能测试团队共享和继承性能测试脚本,造成大量的重复工作。
另一个方面,纯粹工具化的产品,无法积累知识,也无法规划一个完整的性能测试过程。
因此,性能测试的平台化、用户的角色化、脚本的重用、性能测试过程管理,就成为性能测试的一个重大趋势。在PO平台上,我们使用B/S架构来代替传统的客户端架构,把性能测试团队集成管理到一个平台上。所有的测试脚本、性能场景被管理。性能测试过程可以被规划和管理。
此外,由于性能测试的常态化,因此,性能测试环境,包括被压测的应用环境和压力机,都需要统一规划和管理。PO性能测试平台提供针对性能测试环境和压测机器的统一管理,也通过对测试环境进行资源排班,提升了压测机器的利用率。
从脚本到低代码
性能测试的一个问题是,需要理解协议和脚本,于是性能测试有一些“曲高和寡”。在PO的版本,我们基本上取消了性能测试脚本,而使用配置化的界面来代替性能测试脚本,降低了性能测试工具的使用门槛。
PO针对每个协议,设置了一组模板,性能测试工程师只需要根据这些模板来填写,就能够生成加压的底层代码。使用一组有序的模板,就可以实现性能测试过程。
大约在六月中下旬,我们即将发布PO的第一个版本,让我们期待吧!
推荐阅读: