系统性能调优必知必会
陶辉
智链达 CTO,前阿里云 P8 高级技术专家
36367 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
系统性能调优必知必会
15
15
1.0x
00:00/00:00
登录|注册

大咖助场3|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(上)

重试日志
重试策略
GC的影响
GC跟踪日志
Oracle连接配置
域名解析
超时时间控制
重试控制
重试问题的界定
重试成功前的访问
GC的“STW”停顿
失败引发轮询
重试、重定向
性能报告数据
百分位
调整系统响应速度到极致
绊脚石
严谨性能评价
终极目标
系统性能调优
视频课程
傅健
性能调优绊脚石

该思维导图由 AI 生成,仅供参考

你好,我是傅健。这里有部分同学可能认识我,我在极客时间开设了一门视频课《Netty 源码剖析与实战》,很荣幸受邀来到陶辉老师的专栏做一些分享。今天我会围绕这门课程的主题——系统性能调优,结合我自身的工作经历补充一些内容,期待能给你一些新思路。
其实说起性能调优,我们往往有很多理论依据可以参考,例如针对分布式系统的 NWR、CAP 等,也有很多实践的“套路”,如绘制火焰图、监控调用链等。当然,这些内容多多少少陶辉老师都有讲到。实际上,不管方式、方法有多少,我们的终极目标都是一致的,那就是在固定的资源条件下,将系统的响应速度调整到极致。
但是在严谨地评价一个系统性能时,我们很少粗略地使用这种表述:在压力 A(如 1000 TPS)下,基于软硬件配置 B,我们应用的 C 操作响应时间是 D 毫秒。而是加上一个百分位,例如:在压力 A(如 1000 TPS)下,基于软硬件配置 B,我们应用的 C 操作响应时间 99% 已经达到 D 毫秒。或者当需要提供更为详细的性能报告时,我们提供的往往是类似于下面表格形式的数据来反映性能:不仅包括常见的百分比(95%、99% 等或者常见的四分位),也包括平均数、中位数、最大值等。
那为什么要如此“严谨”?不可以直接说达到了某某水平吗?究其原因,还是我们的系统很难达到一个完美的极致,总有一些请求的处理时间超出了我们的“预期”,让我们的系统不够平滑(即常说的系统有“毛刺”)。所以在追求极致的路上,我们的工作重心已经不再是“大刀阔斧”地进行主动性能调优以满足 99% 的需求,而是着重观察、分析那掉队的 1% 请求,找出这些“绊脚石”,再各个击破,从而提高我们系统性能的“百分比”。例如,从 2 个 9(99%)再进一步提高到 3 个 9(99.9%)。而实际上,我们不难发现,这些所谓的绊脚石其实都是类似的,所以这期分享我就带你看看究竟有哪些绊脚石,我们结合具体场景总结应对策略。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了系统性能调优中常见的绊脚石及应对策略,以及两个具体场景的详细分析。作者指出,在追求系统性能极致的过程中,需要关注影响系统性能的1%请求,并解决这些“绊脚石”,从而提高系统性能的“百分比”。通过具体案例和代码解析,文章展示了重试和重定向、失败引发轮询等情况对系统性能的影响,并提出了相应的解决策略。此外,文章还介绍了GC的“STW”停顿对系统性能的影响,并通过实例分析了GC导致的处理停顿情况。通过这些案例,读者可以深入了解系统性能调优中常见的问题及解决思路。文章内容丰富,案例具体,对于系统性能调优有很好的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《系统性能调优必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • 万历十五年
    重试,轮询,DNS解析,GC这些习以为常的细节都会造成系统的毛刺,细节是魔鬼,细节的魔鬼铸就了巨匠。

    作者回复: ^_^

    2020-09-12
    4
  • 明翼
    挺不错的,喜欢这种实战

    作者回复: 傅健老师是我在思科工作时的老同事,有丰富的实战经验!

    2020-07-28
    2
  • 一只小菜鸟
    各种所谓的毛刺抖动其实都有根本原因,只是我们水平太差排查不出来而已
    2021-01-02
    2
  • 马里奥的马里奥
    重试 轮询 GC
    2020-08-04
    1
  • J.Smile
    挺好的分享,多些生产案例分析价值就更大了。
    2020-07-20
    1
    1
  • xiaochao321
    重试 轮询 GC
    2022-09-03归属地:广东
  • 铬天青S
    之前用Go做开发的时候遇到过类似的现象。虽然从监控可以明显看到GC的时间变长了,但是没有怀疑是GC的问题(毕竟从来没遇到过)。直到后来用pprof在线上采集了数据,做了更详细的分析之后,才敢确认就是GC导致的剧烈抖动。再后来,优化了内存的分配方式之后,这个问题才算是得到了解决。
    2022-06-23
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部