知物由学 | 一文了解内容检测性能测试自动化建设
创始人
2025-05-29 21:13:34
0

网易易盾内容检测服务经常在线上做性能测试,在性能测试过程中遇到了哪些痛点?对于这些痛点,怎样通过自动化的手段来尝试改进?

01 性能测试简介

1.1 什么是性能测试

性能测试是通过特定的方式对被测系统按照一定策略施加压力,获取该系统的响应时间、吞吐量等性能指标,来检测系统上线后能否满足用户需求的过程。基于性能测试的定义不难看出,性能的核心指标就是经常挂在嘴边的QPS和RT。
在这里插入图片描述

1.2 为什么要做性能测试

简单了解性能测试之后,有些小伙伴肯定会问为什么要做性能测试。对于这个问题,打算举两个生活中的例子来说明下。

(1)12306——每年春运都是一次大考

在这里插入图片描述

临近春节,打工人要抢回乡的火车票,2019年12月23日,有大量网友反映,12306网站突然崩了,在购买车票的时候出现无法登录、无法购票、车次加载失败、页面卡住等情况,疑似因访问流量过大而出现服务器崩溃。

(2)微博——顶流明星的瓜不好吃

在这里插入图片描述

知名明星的离婚消息突然公布,消息迅速登上微博热搜。此类消息公布后,有网友反映微博客户端出现了短暂宕机、网络出错的现象。

02 性能测试的痛点

2.1 压测执行过程繁琐

压测执行在易盾性能测试的整个流程中比重最大,易盾线上压测一般采用梯度压测。什么是梯度压测,简单而言,就是把压测的大目标拆分成多个小目标。从小的目标做起,直到最后完成最终目标。假设易盾内容检测压测的目标值是QPS达到200,那通常从压力值20开始,然后40、60逐渐加大压力,直到最后完成200的目标值。

在这里插入图片描述

具体的执行步骤怎么样呢?我们先用压力值20,在NPT压测平台创建一个压测任务并执行,一般一轮压测执行10分钟。如果达不到20的目标值,压测中止定位性能问题;如果达到20的目标值,创建下一个目标值40的压测任务,继续执行。重复之前的判断逻辑,直到压测中止或者完成压测目标。

在这里插入图片描述

可能有人会问,这不是自找麻烦,直接用200去压测看看行不行不就完事了。线上压测,保证线上安全始终是第一位的,要慎之又慎,如果因为压测把线上压挂了会严重影响客户体验,甚至产生资金损失。

2.2 监控依赖人

在性能测试过程中,监控&分析属于一个难点,到底难在哪里?这里需要人的经验,要对“被测系统”比较熟悉。只有在熟悉的前提下,你才知道需要看哪些监控指标,这些指标是不是正常,进而给出判断的结论。

目前,线上压测会安排值班同学观察监控,这种依赖人的监控很难做到实时,因为人的精力有限,根本没法兼顾所有监控。还有就是很少有同学从头到尾盯着监控的,大家都是有报警的时候去关注下。这样存在一些风险,可能有些报警没有配置、或者配置修改了没有及时还原,导致线上有问题了,没有报警发出来。

在压测过程中,我们经常会遇到加大并发QPS上不去的情况,这时候一般就出现性能瓶颈了,但是这个瓶颈在哪里就需要根据监控数据去定位和分析了。我们在定位的时候无非也是使用经验的三板斧,CPU/内存/磁盘/网卡等系统资源是否正常,请求量和RT是否合理,有没有出现超时等异常错误。
在这里插入图片描述

2.3 压测数据未隔离

在这里插入图片描述

由于压测流量和真实流量没有做数据隔离,导致线上无法进行全链路压测,有些业务场景覆盖不到。比如易盾存储场景,一旦数据落库存在性能问题,kafka的数据就会积压。此时kafka的topic中既有真实流量又有压测流量的数据,就算立马停止压测,也会影响线上真实流量数据的消费速度,影响用户体验。因此,平常线上压测都会关闭数据存储。

2.4压测资损

易盾有一些外部供应商,之前压测过程中,由于方案评估不到位遗漏了供应商这个环节,导致线上压测产生了一些额外的费用,这种压测资损也是不能容忍的。

03 性能测试自动化实践

3.1 压测一键执行

创建压测任务的时候,自动创建多个梯度压测子任务。还是用易盾内容检测来举例,我们创建一个QPS目标值200的压测任务,这个压测任务被拆分成了5个梯度,每个梯度的压测目标值从小到大分别是40,80,120,160和200。这5个梯度对应NPT平台上5个压测目标值分别是40,80,120,160和200压测子任务。

在这里插入图片描述

点击启动压测任务后,系统会顺序执行NPT平台上QPS目标值40,80,120,160和200的压测子任务。压测子任务达到目标值,会自动执行下一个子任务,如果达不到目标值,就会自动中止压测任务。

在这里插入图片描述

3.2 监控&分析量化

对于监控与分析,明确的思路就是量化。

先是监控,我们事先定义好哪些应用需要纳入监控,这些应用各自需要监控哪些指标。这两个要素搞清楚之后,剩下就是通过哨兵提供的API获取监控数据,写入数据库。

在这里插入图片描述

对于外部供应商特殊业务场景的监控,我们在监控大盘纳入供应商请求量的指标。当供应商请求量同比或者环比出现异常时,要及时停止压测。

在这里插入图片描述

3.3全链路压测组件接入

存储场景压测覆盖不到的问题如何解决?首先“被测系统”接入了全链路压测组件,实现了真实流量和压测流量的数据隔离。

在这里插入图片描述

其次,影子队列消费提供开关,kafka数据积压时,关闭开关,保证只有真实流量数据的消费。

04 性能测试自动化平台

对于上述性能测试中的改进点,我们构建了自有的性能测试自动化平台来承载。

4.1 整体架构

在这里插入图片描述

4.2 落地情况

易盾SaaS服务压测已经完成小流量的试跑,和之前的常规压测比,具有明显的优势。

在这里插入图片描述

相关内容

热门资讯

银行、消金公司助贷余额增速不得... 近日,中国证券报记者从多位业内人士处独家获悉,5月以来,多地金融监管部门对部分中小银行、消金公司下达...
朱鸿接任陈航,担任钉钉科技有限... 消费日报-今朝新闻讯 天眼查显示,6月23日,钉钉科技有限公司发生工商变更,陈航卸任法定代表人、董事...
3日累跌超20%,德创环保:公... 6月25日, 德创环保(603177.SH)公告,公司股票于2026年6月23日、6月24日和6月2...
北京发布2026年第七轮拟供商... 央广网北京6月25日消息(记者门庭婷)6月25日,北京市规划和自然资源委员会网站发布了2026年第七...
开放麦 | 启明创投胡奇:从A... “2026年,创投圈的浪潮再次翻涌:AI从技术概念走进产业深水区,硬科技创业从“小众赛道” 变成“主...
腾讯孙忠怀:在行业转身处 6月24日,2026腾讯视频年度发布在上海举行。腾讯公司副总裁、腾讯在线视频董事长孙忠怀以《在行业转...
加息,突变!美联储,重磅传来!... 美联储政策路径突生变数。 美国商务部经济分析局最新公布的数据显示,5月个人消费支出(PCE)物价指数...
6月合肥上门收金必看!5步避坑... 2026年6月,合肥黄金市场持续高位运行,不少市民翻出家里闲置的旧金饰、投资金条想变现,上门回收因为...
潮汕女富豪挂帅后加码液冷!祥鑫... 潮汕女强人,带着百亿公司加码液冷散热。 6月24日晚间,祥鑫科技(002965.SZ)公告称,公司董...
马斯克向太空要电,GobiX ... 一场关于「去哪里找电」的全球竞赛,正在朝两个方向展开。 作者|周永亮 编辑| 郑玄 「太空光伏是不是...
原料药行业陷入周期低谷 有药企... 每经记者|许立波 每经编辑|魏文艺 “过完年到现在,我们整个团队每个月都在出差,跑遍了亚非拉、欧美市...
家门口筛查白内障!永顺泽家镇暖... 大众卫生报·新湖南客户端6月25日讯(通讯员 彭雪姣)为切实解决辖区老年性白内障患者异地就医奔波、就...
终于等到!油价马上再大跌,这个... 点击添加图片描述(最多60个字) 编辑 各位车主朋友,好消息接二连三! 继6月18日油价大幅下调...
丈量出海新路 世界酒庄影响力指... 长期以来,全球酒庄评价体系由西方机构主导,且大多局限于单一酒种、单一评价维度,这一局面正逐渐被打破。...
峰瑞资本创始合伙人李丰:从资本... “2026年,创投圈的浪潮再次翻涌:AI从技术概念走进产业深水区,硬科技创业从“小众赛道” 变成“主...
原创 A... 迈向成熟,还有茁壮成长的机会。 作者 | 方璐 编辑丨于婞 来源 | 野马财经 2026年6月21日...
为企业解锁出海新通道!亚太中小... 6月24日下午,作为2026年APEC中小企业工商论坛的重要组成部分,亚太中小企业国际化合作发展论坛...
君赛生物港股IPO,增聘兴证国... 跟丰宜科技一样,正冲刺港股IPO的上海君赛生物股份有限公司(简称“君赛生物”)增聘一位整体协调人。 ...
圣邦股份明日上市:暗盘涨24%... 雷递网 雷建平 6月25日 圣邦微电子(北京)股份有限公司(简称:“圣邦股份”,股票代码:“0366...
科技“吃肉”,券商跟着“喝汤”... 当科技持续成为市场核心主线,押中硬科技项目的券商也成为被追逐的焦点。 6月24日,半导体零部件概念股...