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

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

https://a.perfma.net/img/2871132
2年前
3952122

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

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

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

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

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

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

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

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

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

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

点赞收藏
分类:标签:
imath60

ASAP

请先登录,查看1条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步
22
1