找回密码
 会员注册
查看: 36|回复: 0

全链路压测演进之迭代式压测

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-9-19 19:55:13 | 显示全部楼层 |阅读模式
文章导读一、背景原因 二、压测流程改进分析三、迭代式压测流程压测服务的稳定性 压测环境的稳定性 压测时效 压测人员 贴合业务 四、全流程压测模式演进 五、压测模式对比 六、迭代式压测反馈效果 七、总结一、背景原因!!做系统服务压测都是比较耗时耗人力的,特别是在生产环境上做压测,压测的时间都是在晚上23点后,甚至在凌晨1-4点,每次投入的人力成本较高(经常是晚上通宵加班压测,疲惫感十足),对于团队来说,每次大家都很辛苦,但是又不得不做,这是非常苦恼的烦心事。为了缓解团队每次投入做压测的疲惫感,以及降低投入的人力成本,对现有的压测流程做进一步的改善:现有的压测模式:常态化压测(例行压测,摸底压测)、大促全链路压测,这两种压测模式的执行是根据现有业务发展而制定的,但都存在一定时效上的问题,且投入人力成本也不低。为推进常态化压测更高效,更贴近业务进行压测,且分化所有业务流量的焦点集中在大促压测上,把一些常规压测操作前置到日常业务迭代需求项目上,根据中、大规模的需求项目试行迭代式压测,提供更细致、更小范围的压测方式,尝试解决在压测上的时效和人力问题二、压测流程改进分析1、以往的压测模式,主要是常态化压测为主,全链路压测为辅,压测时间段也只有特定的几个时间段(618大促,双11大促等)才会安排。2、每次压测主要针对大促流量的性能指标上考虑,而各服务本身的每个环节存在的问题,等到全链路压测的时候才暴露出来,往往已经滞后了很多(线上压测存在的弊端)。3、压测的投入,虽然每次的压测都能拿想要的结果,但是人力的成本和时效,并不是很理想。4、服务间相互的调量大小,以及能承载多少请求,只有通过常态化压测/全链路压测才发现存在的问题,日常缺少沉淀,经常压测过程会有超时、限流、熔断等情况出现,导致压测的有效性降低三、迭代式压测流程结合分析的方向,制定迭代式压测流程如下:结合公司现有的压测流程,以及存在的不足问题综合分析考虑,把现有的压测流程做调整优化(降本增效),通过日常迭代项目上线后做压测,即可做到贴合业务,以可满足压测需要,主要有以下5个方向改进:压测服务的稳定性通过迭代项目上线后压测,可以提前了解到服务本身的稳定性,是否有存在隐藏的问题。日常迭代需求较多,关联依赖也多,上线后压测可以快速了解影响范围,及隐藏的性能问题,如有问题,可根据项目迭代,灵活安排优化版本上线。压测环境的稳定性以往生产环境压测,机器存在问题,经常是通过扩容/或更换机器的方式,临时解决,并不能提前知道原因是什么,处理结果相对是滞后的。通过日常迭代项目的压测,可以提前暴露出在日常条件下生产环境机器是否存在问题,为大促压测提前做规避措施压测时效快进快出,项目上线后,最小单位安排压测任务,且主要以定时压测为主,灵活压测时间,第二天上班收集压测报告,快速得出压测结果压测人员1、降低产研发团队QA的学习门槛,把压测流程和压测平台做到足够简单2、不再局限于特定的几个人才能做压测,让业务团队每个QA都能有参与压测的机会贴合业务日常迭代项目,参与项目的成员,根据业务的特性评估是否压测:1、如不需要压测,后续则降低/不考虑该业务场景对大促活动的影响面2、需要压测,则评估影响面范围:后端重构项目,影响主流程业务业务需求新增/变更,涉及有核心接口场景核心业务场景调整依赖服务接口变更……以项目维度评估压测范围比较小,能快速明确压测的指标,以及压测场景3、增加业务QA人员对压测的参与度,同时让个人在过程可以学习到相关性能测试的知识技能,可作为常态的测试手段4、刚好项目测试完,熟悉度还比较热乎,花费最低成本去创建压测脚本和压测数据,定时压测完成后,得出结果进行分析的成本也比较低5、项目维度的压测结果沉淀,对后续大促压测场景规划,提供更明确压测范围,以及可以提前规避掉服务存在的瓶颈问题四、全流程压测模式演进【压测流程流向】以小聚多,把迭代式压测作为最小压测单位,最后汇总为例行压测(常态化压测)、全链路压测,保障各种链路维度覆盖业务不同颗粒度。参考:常态化压测、全链路压测【服务流量流向】五、压测模式对比六、迭代式压测反馈效果【业务价值】2月份开始以来,已完成几个需求的压测,压测过程能明显暴露出6个服务隐藏的性能问题,为业务服务规避掉隐藏的性能风险。【结果反馈】七、总结1、业务团队的QA人员需要具备一定的性能测试技能,学会识别项目需求中是否存在隐藏的性能风险2、以项目需求作为压测单位,可能不会覆盖到服务所有功能,但在日常迭代过程,迭代式压测相对会比较频繁,以点到面的切入条件,被压测的功能也会逐步积少成多3、稀释大促全链路压测和常态化压测准备及计划的压力,融入需求生命周期管理,轻量分布式的完成压测资产沉淀关于作者庄锦弟,深圳业务支撑组负责人/性能虚拟组负责人,主负责case用例平台建设、转转性能测试流程体系建设,以及全链路压测落地实施
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 23:41 , Processed in 0.895271 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表