51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 614|回复: 3
打印 上一主题 下一主题

常态化压测之京东测试

[复制链接]
  • TA的每日心情

    4 天前
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2023-7-13 11:01:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、常态化压测介绍1.什么是常态化压测
    常态是指:“正常的状态”;“化”在这里是表示转变为某种性质或状态。
    “常态化”的含义就是:趋向正常的状态。
    那么常态化压测顾名思义就可以解释为,让压测趋于正常的状态,趋于合理;因此通过调研给了如下定义:常态化压测是指在某个产品或系统上进行自定义周期(常态化)的、系统自动执行的、可验证结果的压测过程。目的是检测产品或系统的稳定性、可靠性和性能,确保它们能够在不同的场景下正常运行。
    2.为什么要进行常态化压测
    随着业务的不断增长,支撑业务系统的压力也逐渐增加,会面临如系统越来越厚重、逻辑越来复杂、迭代节奏越来越快等繁杂的情况。我们当前并没有做到在每次变化时快速识别出性能风险,检测产品或系统的稳定性、可靠性,而且我们还在不断的投入人力成本在压测这件事情上也是不合理的,所以我们要将性能验证融入到我们日常的工作中,把压测做到常态化,做成平常的一件事。
    3.常态化压测的价值
    • 快进快出,最小单位安排压测任务,减少人员投入
    • 尽早识别性能波动,避免风险后置
    • 可复用性高,压测模型、业务模型可复用
    • 业务可用性保障


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    2#
     楼主| 发表于 2023-7-13 11:02:57 | 只看该作者
    二、常态化压测实践1.常态化压测流程介绍
    借助泰山平台中的Forcebot工具,进行常态化压测执行。设置常态化压测任务,配置压测执行计划,按照预设的数据模型、基线值等进行执行。在累积一段时间的压测结果后,可以对基线值、压测目标进行调整和调优,然后继续进行自动化周期性的压测。同时跟进结果,及时关注最近业务和系统的变化。
    • 明确压测目标
    明确常态化压测的目标,可以区分日常和极限两个场景。根据不同的场景设置不同的压测目标,第一次实践以单接口的日常流量为主,观测日常流量下的性能波动,确定正常范围值。
    • 常态化计划
    根据接口的优先级,接口服务的流量,日常迭代代码改动的频率,设置对应的计划。核心接口、流量较大、代码改动频繁的接口,常态化压测的周期建议短一些,可以一周1-2次,且放在每次上线后进行;如果是非核心、流量小的接口,可以每周或每双周进行一次。
    • 压测前期准备
    确定测试场景根据实际场景,设计压测场景,包括用户数量、请求类型、请求频率、请求参数等,以尽可能模拟真实的业务场景。编写压测脚本,设置按照真实请求数据比例设置参数化,以便于进行自动化测试。
    • 压测中期关注
    在压测过程中,主要是无人值守的状态,所以需要提前识别压测可能带来的风险,以及面对不同的风险需要采取的措施。
    同时还要关注压测过程中如果出现性能波动,系统发出的预警方式是否及时、预警内容是否准确。
    • 压测后期跟进
    每次常态化压测计划执行后,都需要关注本次的结果:① 结果符合预期,则要关注下指标的波动; ② 若结果并不符合预期,则要刨根问底,找到问题的所在; ③ 跟进问题直到解决,解决后重新验证。
    • 辅助功能-流量染色
    流量染色指根据流量协议,设置对应的流量染色规则,对指定的流量进行染色标记,并在整个调用链中携带该标记。
    通过流量染色,可以实现压测流量隔离,同时可以保证日常压测对生产流量无影响。但是对于常态化压测来讲,流量染色并非必须,而是锦上添花的功能,可以进一步保证我们的流量对生产无影响。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    3#
     楼主| 发表于 2023-7-13 11:04:45 | 只看该作者
    2.首次进行常态化压测实践2.1 准备阶段
    ① 获取基线值数据
    ② 压测脚本、场景、数据模型准备
    ③ 压测环境准备
    ④ 压测计划制定
    2.2 执行阶段





    2.3 调优阶段
    以7-10天为一个周期,记录数据。不考虑特殊节日、特殊活动的场景,验证基线数据的可信赖性。如发现高于30%的概率,每天的数据都不符合基线值,可调整基线值的浮动范围,以保结证结果在日常值的范围内。
    调优的过程也要关注,在数据统计过程中代码的改动,如果确定是代码的改动影响了整体的性能,这就要根据实际的场景和影响范围进行评估。
    2.4 复盘阶段
    经过一段时间的常态化压测,需要对整个流程和结果进行复盘,好的复盘结果能够帮助我们避免后续的一些“坑”。参与常态化压测的所有人员一起,主要关注一下几个方面:
    ① 数据是否正确,是否达标,是否可信赖
    ② 常态化压测流程、计划相关问题
    ③ 压测过程中的性能问题总结


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 76 天

    连续签到: 1 天

    [LV.6]测试旅长

    4#
     楼主| 发表于 2023-7-13 11:05:09 | 只看该作者
    三、常态化压测总结
    ① 建议覆盖场景 可以根据自己所负责的业务进行考量,如果不会出现很大流量的情况下,建议覆盖日常场景即可满足需求;如果需要考虑大流量并发的场景,建议覆盖日常的基础上,在覆盖极限的场景。
    ② 关注风险控制 常态化压测要做到的是模拟生产真实场景,实现日常自动化压测,尽量做到无人值守,所以提前识别出可能的风险是非常必要的,同时要列出不同的风险项对应的举措。
    ③ 常态化压测只是辅助验证业务性能的一种手段 不是说我们进行常态化压测之后就不需要进行性能测试了,两者之间是没有冲突的。
    寄语:每个人负责的工作是不同的,不同人会有不同诉求,对同一件事也会有不同看法,不过苏轼有句话:“犯其至难而图其至远”,意思是说“向最难之处攻坚,追求最远大的目标”。只希望我们能在工作中克服各种困难,去实现最长远的、可持续的目标。

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-22 14:40 , Processed in 0.074872 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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