高楼的性能工程实战课
高楼
盾山科技 CEO,7DGroup 创始人
19172 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 35 讲
特别放送 (1讲)
结课测试 (1讲)
结束语 (1讲)
高楼的性能工程实战课
15
15
1.0x
00:00/00:00
登录|注册

26 | 稳定性场景之一:怎样搞定业务积累量产生的瓶颈问题?

你好,我是高楼。
根据我们的 RESAR 性能理论,在执行完基准场景、容量场景之后,接下来就是稳定性场景了。
做过性能项目的工程师应该都有一个感觉:在跑稳定性场景之前,内心是战战兢兢的,因为不知道在运行长时间之后,系统会是什么样的表现。
并且,还有一个复杂的地方就是,在稳定性场景中,由于运行的时间长,出现问题后,我们分析起来会比较困难,主要有三点原因:
(1)分析一定要有完整且持续的计数器监控。因为在稳定性场景中,实时查看性能计数器是不现实的,我们不可能一直盯着。而且,问题出现的时间点也不确定。所以,在分析问题时,我们需要完整且持续的计数器监控。
(2)累积业务量产生的问题点在整个系统中也是不确定的。
(3)你知道,稳定性场景回归比较耗时,在分析优化的过程中,但凡调个参数、改行代码啥的,总是要回归场景的,而把稳定性场景拉起来就需要几个小时。所以,稳定性场景中的优化动作即便看似简单,也会消耗比较长的时间。
基于这几点原因,我们在稳定性运行之前,一定要想好监控哪些计数器,避免在稳定性运行过程中遇到问题时,发现没有可用的计数器分析问题,那就悲催了。这是极有可能出现的情况,你要格外注意。
根据第 9 讲中提到的监控逻辑,在执行我们稳定性场景前,我们已经按“组件 - 模块 - 计数器”这样的逻辑罗列了所有需要监控的计数器,并且也用相应的工具去实现了。一切看起来已经万事具备。下面我们来看看在执行稳定性场景时,有哪些要点需要注意?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文重点介绍了在性能项目中解决业务积累量产生的瓶颈问题的重要性,强调了在执行稳定性场景前需要考虑监控哪些计数器,避免在稳定性运行过程中遇到问题时无法分析。文章提出了相应的计算方法,并强调了运维的重要性,以及在架构设计时需要考虑限流、熔断、降级等异常保障机制。此外,还介绍了OOM killer机制和内存超分的相关内容,以及如何通过监控和分析来解决内存不足的问题。通过实际案例分析,读者可以了解到如何通过监控和分析来解决性能项目中的瓶颈问题,为技术人员提供了有益的经验和指导。文章内容丰富,为性能项目中的技术挑战提供了有益的参考。文章还提到了稳定性场景的两个要点,分别是运行时长和压力量级,以及在内存的使用上的关键性。最后,留下了两个思考题,引发读者对稳定性理念的思考和交流。 文章内容丰富,涵盖了性能项目中的关键问题和解决方法,对于技术人员来说具有很高的参考价值。通过本文,读者可以深入了解如何应对性能项目中的挑战,以及在稳定性场景中的关键要点和监控策略设计。文章语言通俗易懂,案例分析生动具体,能够帮助读者快速了解并应用其中的技术特点。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高楼的性能工程实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • A0桑荫不徙
    老师,这里稳定性时长为啥要根据运维周期来估算呢?不太明白为啥会选择运维周期作为稳定性时长的参考依据

    作者回复: 因为有些运维动作,就相当于系统状态重置了。

    2021-11-15
    1
  • 晖儿
    容量场景的最大TPS是不是基准场景中的最大TPS*业务比例?

    作者回复: 不是。容量场景的最大TPS是根据业务比例设计场景后跑出来的,不是算出来的。

    2023-06-15归属地:重庆
  • 徐峥
    高老师,感谢您的课程,在您的经验中,稳定性场景经常出问题的地方大概有哪些?

    作者回复: 主要是资源的创建和销毁。比如内存分配和释放、线程的创建和销毁、网络链接创建和断开等。

    2022-06-19
  • Geek_ebc46a
    老师,您好,您的性能实战课和性能工程实战课都在学习,对于半路出家的性能测试人员来说真的是受益匪浅。尤其这篇稳定性场景的文章,让我真正看到了另一个角度的稳定性测试。我看老师是通过业务量和最大TPS来估算稳定性运行时长,但在我们公司,目前需求会给出每日业务量,然后稳定性运行时长则是雷打不动的7*24h,现有以下问题: 1、按照业务量和最大TPS估算得来的运行时长可能只有几个小时,这样我们需要考察的由长时间运行带来的累积效应是否足以暴露出来? 2、如果系统没有TPS的要求,只有业务量要求(通常实际运行过程中的TPS比最大TPS差很多),数据压力量为需求业务量,运行期间每日设计高峰低谷,运行周期为7*24,这样有没有什么问题,运行周期如何优化?

    作者回复: 1. 看运维周期。如果只需要几个小时而去做7*24,那肯定是更为保险的。只是成本也是更高的。7*24不是只有一句话,要具体的实施要先计算成本,公司能承担,那就做。 2. 听起来没有什么问题。要优化的前提是要有问题。而不是先判断如何优化。

    2021-10-26
    2
  • 涵涵
    老师,"稳定运行业务累积量为 5000 万",拿电商系统来说,这个5000万是什么数据,订单数5000万,还是用户数5000万,还是总体的数据量?

    作者回复: 在我这里指的是5000万的混合事务量。

    2021-08-19
  • sky_you
    我现在遇到很多想做性能试验的项目,但是由于使用的是公有云中的开发平台,导致无法进行持续定制化的监控,这样对于分析有很大的阻碍。应该怎么办呢?

    作者回复: 没有完整的全局监控计数器,就只能靠蒙了。

    2021-06-17
  • 小龙
    老师,最大的TPS是整条链路的吗?还是单个接口的TPS? TPS 最大是怎么的出来的? 非常感谢

    作者回复: tps肯定是整个链路的呀。这样才有意义。 最大tps的需求是从业务统计中得来的。 针对场景执行的时候要看场景的tps是否满足了tps的需求。

    2021-05-24
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部