性能文章>【1】性能测试平台从设计到实现-中控系统>

【1】性能测试平台从设计到实现-中控系统原创

https://a.perfma.net/img/2871132
6月前
2800019

        昨天和大家聊了性能测试平台的背景、目标价值和特征分析。放出了我们现阶段的架构设计图。从本章开始,我们会陆续就架构设计中的各个核心部件,进行展开说明。从用户直接交互的中控系统开始。

        中控系统作为平台的核心枢纽,对用户的前端输入进行处理后,将任务分发到任务调度系统、实时报表服务、秒级监控服务等 ,注意:各子系统之间没有直接交互,所有的控制指令全部经由中控进行处理转发。降低了服务间调用关系的复杂性。围绕发压构建中控,

        中控系统的核心功能如下图所示:

      由任务管理、资源管理和用户权限管理(单独一章介绍)三部分组成,本章我们主要介绍任务管理和资源管理。首先,我们将一个压测任务所需的各个资源按照步骤进行拆分,即用例设置、压力设置、监控设置与通知设置。其中用例包括UI用例【资源管理-压测用例中】和脚本用例【资源管理-脚本文件】,同数据文件一起构成新建任务的第一环【用例设置】,在用例设置步骤中,我们参考了POSTMAN的KV-Editor的UI设计方便大家像做功能测试一样来构建自己的性能测试用例,可从用例库中勾选复用或者直接新建,同时为了降低由于用例错误导致的任务失败率,我们在用例步骤中设置了DEBUG功能,只有通过DEBUG之后才可以进入到【压力设置】步骤,如图所示:

在【压力设置】步骤中,我们提供了并发和QPS两大类模型和常用的一次性注入、斜率加压、恒定加压、梯度加压能力,方便用户构造符合自己预期的压力模型,并可根据实际情况手动选择节点或交由系统自动分配节点的方式,如图所示:

完成压力设置后,我们需关注被测服务所在集群的性能指标【CPU、内存、带宽、磁盘使用率、FULLGC、吞吐、QPS、RT、错误率】等,进行相关的设置后,会从运维侧的可观测性系统中获取相关的指标数据进行聚合展示

最后,进行任务完成的邮件通知,便于存档及后续的追溯。

任务创建完成后,开始进行实时的观测,遇到问题支持一键全部停止压测或部分节点停止压测的能力。

完成压测之后,我们来查看下这次压测的结果,如图所示:

emo,全红,看来有问题,去排查了~下次再聊~

分类:标签:
请先登录,感受更多精彩内容
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步

为你推荐

借助Xpocket中的perf插件 了解cpu热点函数的抓取原理
本文使用了xpocket工具包的插件链接xpocket地址: [https://plugin.xpocket.perfma.com](https://plugin.xpocket.perfma.com
【0】性能测试平台从设计到实现-开篇
性能测试平台从设计到实现-开篇;从背景介绍、目标价值和特征分析三个方面,对性能测试平台的建设进行阐述
【1】性能测试平台从设计到实现-中控系统
性能测试平台从设计到实现的第二篇,中控系统,本文主要介绍了中控系统的任务管理的新建任务功能,将任务所需的各类资源按照步骤进行拆分,映射到资源管理模块下的各个子模块中,可复用,可新建【支持保存】。任务从创建到实时执行查看到执行完成回看的全过程。
【2】性能测试平台从设计到实现-中控系统之资源管理
性能测试平台从设计到实现的第三篇,中控系统之资源管理,本文主要介绍了资源管理中的四要素,即用例、数据、压力模型和执行节点。
【3】性能测试平台从设计到实现-如何玩转压测脚本
性能测试平台从设计到实现的第四篇,如何玩转压测脚本,本文主要介绍了Gatling引擎的scala脚本的常用写法,直接拿走不用谢~
【4】性能测试平台从设计到实现-玩转压测脚本之场景化压测
性能测试平台从设计到实现的第五篇,玩转压测脚本之场景化压测,本文是第四篇如何玩转脚本的姊妹篇,以春运活动为例,讲解了场景化压测脚本的编写方法
【5】性能测试平台从设计到实现-如何选择适合自己的压力模型
性能测试平台从设计到实现的第六篇,如何选择适合自己的压力模型,本文从实际业务场景出发,介绍两大类场景并发数和QPS下的压力模型构造方法,及在引擎提供的基础能力上,如果简化这部分的工作。
【6】性能测试平台从设计到实现-报告初步解读和平台的增强优化
性能测试平台从设计到实现的第七篇,报告初步解读和平台的增强优化。本文讲述了在压测中和压测结束后,针对报告的解读方法,需关注的指标以及平台所做的增强型优化功能