写点什么

压测实战 | 记录一次元旦跨年夜的测试保障

  • 2024-12-26
    辽宁
  • 本文字数:1189 字

    阅读完需:约 4 分钟

压测实战 | 记录一次元旦跨年夜的测试保障

用户的跨年夜,技术人的惊魂夜。


在互联网多媒体时代,图片、视频等类型的应用越来越丰富,一些特殊时刻,会有海量用户同时发布多媒体内容。以大家熟知的一个社交类应用为例,因其社交性、高并发、瞬时峰值的特点,在元旦零点前后的跨年时刻,读/写流量可达平日的 10 至 20 倍,迎来全年巅峰。


项目背景


前面提到的社交软件,其元旦和春节期间读链路和写链路分不同会数倍的流量飙升。其中,针对只读链路可以通过集群流量调度做到读链路的压测,但是写链路的压测由于测试数据构造复杂,用例编写成本高,是一个亟待解决的问题。


压测目标


在这次任务中,业务链路压测的特点是请求链路较短,只涉及两个请求,而难点则集中在以下方面:


● 协议多,包含 HTTP、RPC 以及其他私有协议;


● 业务是多地分布的,需支持分布式、多地域压测流量定制;


● 模拟跨年零点,流量大、时间集中,需快速模拟大规模用户进行写操作;


● 需支持请求上下文参数动态串联,模拟用户登录后,以登录态进行后续操作;


● 需支持自定义数据处理,在脚本逻辑里对测试数据数据进行清洗;


● 除了文字内容,还需模拟图片内容的发表,并保证带图发压也能瞬时达峰;


● 需能设置检查点,根据接口返回值,按照业务逻辑检查接口调用成功与否;


● 元旦保障时间紧任务重,压测工具需能开箱即用、快速编排场景、易于分析结果。


压测方法


为了 100%满足上述需求和目标,具体的实施方法如下:


1.  选择创建模式,本次压测采用脚本模式;


2. 上传包含相关测试数据的 csv 文件,并设置切分文件由不同施压机并行读取;


3. 上传所依赖的协议文件;


4. 上传被测接口所需的图片文件;


5.  施压配置并发、多地域流量定制、梯度发压;


6.  参考平台提供的脚本模板,编写请求链路,并借助协议支持、数据处理等 API,完成脚本逻辑;


7.  借助平台设置检查点的 API,检查接口返回值,按业务逻辑判断接口调用成功与否。


压力配置页面(演示数据):



结果分析


在 2 天内我们共进行了 8 轮次压测,逐步增加压力、增大地域覆盖。通过压测平台提供的指标数值、多维度图表、服务明细、检查点明细、日志等信息,分析系统在不同压力程度下的错误率、延时等性能表现,并结合业务自身监控指标的变化,判断业务的可用性和稳定性是否达到预期、或反映出哪些需要解决的问题。

在压测报告中,我们重点关注的指标如下:


● VU:虚拟用户数,用来模拟真实场景中同时执行操作的用户数量,也叫“并发用户数”


● RPS:每秒请求数,反映系统处理能力,越大越好


● 响应时间:从客户端发送请求到客户端接到服务器返回的时间


● 失败率:一批请求中结果出错的请求所占比例,以校验响应结果是否符合期望


压测报告界面(演示数据):



工具选择


在工具侧的选择上使用的是腾讯旗下的一款工具—优测压力测试平台,以同时满足的多地域、百万并发、多协议支持的要求。另外,基于项目周期的紧迫性,该工具 SaaS 化和开箱即用的模式也很好地满足了时间和成本的需求。

用户头像

优测:专业、易用、高效的测试工具集 2023-07-19 加入

优测云服务平台是腾讯旗下的一站式云测试服务平台,沉淀腾讯十年产品测试经验,提供终端测试,接口测试,性能测试,安全测试等多领域测试服务与产品。

评论

发布
暂无评论
压测实战 | 记录一次元旦跨年夜的测试保障_压力测试_优测云服务平台_InfoQ写作社区