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

11 | 打开首页之一:一个案例,带你搞懂基础硬件设施的性能问题

你好,我是高楼。
这节课我要带你来看一个完整的性能分析案例的第一部分,用打开首页接口做压力场景,来分析下性能问题。通过这个案例,你将看到各种基础硬件设施层面的性能问题,比如由虚机超分导致的性能问题、CPU 运行模式下的性能问题、IO 高、硬件资源耗尽但 TPS 很低的问题等等。
如果你是从零开始做一个完整的项目,那么这些问题很可能是你首先要去面对的。并且,把它们解决好,是性能分析人员必备的一种能力。同时,你还会看到针对不同计数器采集的数据,我们的分析链路是不同的,而这个分析链路就是我一直强调的证据链,如果你不清楚可以再回顾一下第 3 讲
通过这节课,我希望你能明白,有些性能问题其实并没有那么单一,而且不管性能问题出在哪里,我们都必须去处理。
好,不啰嗦了,下面我们就把打开首页接口的性能瓶颈仔细扒一扒。

看架构图

在每次分析性能瓶颈之前,我都会画这样一张图,看看这个接口会涉及到哪些服务和技术组件,这对我们后续的性能分析会有很大的帮助。
如果你有工具可以直接展示,那就更好了。如果没有,那我建议你不要自信地认为自己可以记住一个简单的架构。相信我,哪怕是在纸上简单画一画,都会对你后面的分析思路有很大的帮助。
回到上面这张图,我们可以清楚地看到这个打开首页的逻辑是:User - Gateway(Redis)- Portal - (Redis,MySQL)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过一个完整的性能分析案例,详细介绍了从确定压力数据到拆分响应时间再到定位响应时间消耗的全过程。作者强调了架构图和代码逻辑的重要性,并通过具体案例展示了如何利用线程数和递增策略来确定压力数据,以及如何通过链路监控工具对响应时间进行具体拆分。文章还通过全局监控和定向监控的分析,帮助读者清晰了解如何从整体架构出发,逐步确定资源消耗的具体节点。此外,通过具体的命令和数据展示,读者可以学习如何利用工具进行资源消耗的分析和定位。整篇文章对于需要进行性能分析的技术人员来说,是一份实用的指南,能够帮助他们快速定位和解决性能问题。文章还提出了两个问题供读者思考,为读者提供了进一步学习和交流的机会。

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

全部留言(13)

  • 最新
  • 精选
  • Geek_bbe4c8
    “只考虑 8C16G 的配置情况。如果 TPS 是线性增长的话,那么当该机器的 CPU 使用率达到 100% 的时候,TPS 大概就是 800 左右。” 老师,这里的TPS 800是怎么得到的?没太懂

    作者回复: 根据资源来计算的。因为40TPS的时候,你看图上面的CPU使用率,也才5%左右,要用到100%的话,不是有20倍吗?所以是40x20。

    2021-04-14
    6
  • sierlu
    1.如果虚拟机的st高,可能怀疑是该宿主机的其他虚拟机在竞争cpu资源,那么其他虚拟机应该也会出现st高的情况,可能是cpu资源超分配,如果物理机确实st高,且虚拟机的应用也需要用这么多,则需要对物理机进行扩容,或者将宿主机上的虚拟机器迁移到其它宿主机 2.powersave模式应该是一个最低频率使用模式,降低cpu的用电量,温度。 另外高老师,后来调节这个工作模式后,虽然压测业务指标没有变化但是建议应该再贴一下虚拟机的资源使用情况,这个工作模式的更改是否确实解决了降低了si,st?

    作者回复: 在下一节课中有资源利用率的数据。你可以参考着看。我们这个案例是一个接一个的。哈哈。

    2021-06-15
    3
  • 悦霖
    高老师,st高,看了宿主机cpu使用率还有空闲,为啥就直接去看是否有阻塞,以及没阻塞后cpu运行模式,这个证据链感觉不连续啊?

    作者回复: 这个取决于对操作系统的理解了,宿主机的cpu在这里只给虚拟机用,虚拟机st cpu高了,说明宿主机cpu没用完,而没用完,只有去查阻塞和运行模式了。

    2021-07-29
    2
  • 张鱼
    全局监控、定向监控,这个监控的时机是怎么把握的?是跑脚本之前,将两者都监控起来。发现性能问题,先看全局监控,再去看定向监控?

    作者回复: 先做全局监控就可以 。

    2021-04-15
    1
  • start
    老师你上面的架构图用什么工具画的?

    作者回复: Skywalking中自动生成的。

    2021-04-15
    1
  • Geek_b1b237
    这个电商项目如何搭建,有文档吗

    作者回复: 在特别放送里面有呀。

    2023-06-07归属地:北京
  • Geek_b1b237
    如何搭建项目中所讲的环境

    作者回复: 这个在特别放送里面有。

    2023-06-07归属地:北京
  • Olivia
    老师您说的做性能要打开performance模式,指的是性能测试时打开,还是性能调优都要打开,如果是后者,那意味着生产上都要打开performance 模式?

    作者回复: 如果想获得好的硬件性能,就要一直打开。

    2022-10-07归属地:四川
  • Geek_0ddc27
    通过上述对响应时间的拆分,我们可以确定是 Gateway 消耗了响应时间,并且这个时间达到了近 100 毫秒。所以,我们下一步定位的目标就是 Gateway 了。高老师,gateway不是消耗了150吗,怎么后面又说100了呢

    作者回复: 我查查,看看是不是手误了。

    2022-07-02归属地:北京
    2
  • *回眸*·wdlcoke
    老师: windows服务怎么查看虚拟机被宿主机上的其他应用或虚拟机抢走的 CPU,有没有windows服务器监控工具的套装?

    作者回复: promethes也有windows_exporter的第三方监控插件。但有没有被抢走的CPU计数器,我不清楚。在我的工作经历中,windows做为服务端用非常少。

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