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

15 | 查询商品:资源不足有哪些性能表现?

你好,我是高楼。
这节课,我们来收拾“查询商品”这个接口。虽然这次的现象同样是 TPS 低、响应时间长,但是,这个接口走的路径和之前的不一样,所以在分析过程中会有些新鲜的东西,你将看到在资源真的不足的情况下,我们只有增加相应节点的资源才能提升性能。
在我的项目中,我一直都在讲,不要轻易给出资源不足的结论。因为但凡有优化的空间,我们都要尝试做优化,而不是直接告诉客户加资源。而给出“增加资源”这个结论,也必须建立在有足够证据的基础上。在这节课中,你也将看到这一点。
话不多说,我们直接开始今天的内容。

压力场景数据

对于查询商品接口,我们第一次试执行性能场景的结果如下:
你看,TPS 只有 250 左右,并且响应时间也明显随着压力的增加而增加了,看起来瓶颈已经出现了,对吧?根据哥的逻辑,下一步就是看架构图啦。

先看架构图

我们用 APM 工具来看看这个接口的架构。
你看,从压力机到 Gateway 服务、到 Search 服务、再到 ES-Client,这个 APM 工具也只能帮我们到这里了。因为我们用的是 ElasticSearch 7 来做的搜索服务的支撑,而这个 skywalking 工具也没有对应的 Agent,所以后面并没有配置 skywalking。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了解决Elasticsearch(ES)客户端请求不均衡和节点CPU高的问题的方法。作者首先强调了在资源不足的情况下,应该尝试优化,只有在有足够证据的情况下才建议增加资源。文章通过性能场景数据、架构图、响应时间拆分、全局监控和定向分析等方法,定位和解决性能问题。作者指出全局监控可以帮助更加有的放矢地分析问题。在全局监控数据的基础上,作者定向分析了ES相关的POD的资源使用情况,发现ES client请求不均衡,ES data CPU 高的问题。通过对ES相关POD的分布情况进行定向分析,为读者展示了解决问题的思路和方法。文章通过实际案例深入浅出地介绍了在资源不足的情况下,如何通过性能场景数据、架构图、响应时间拆分、全局监控和定向分析等方法来定位和解决性能问题。最后,作者提出了优化后的效果,强调了ES优化中的细节和整体分析思路,为读者提供了一个全面的ES优化思路和逻辑。

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

全部留言(12)

  • 最新
  • 精选
  • 道长
    今天这篇,感觉有点难,可能是没接触过k8s吧 还有负载不均衡我肯定是先去看负载策略,再往下排查;只有当策略都没没问题我才会考虑内部逻辑,个人看法

    作者回复: 这里其实是有个前提的,就是知道k8s的负载均衡策略的基础知识。

    2021-04-28
    4
  • 安静。。。
    1. 当负载出现不均衡时,主要的分析方向是什么? 看下转发机制是什么,为什么只有部分的服务能接收到请求 2. 什么时候才需要去看组件内部的实现逻辑? 先通过全局监控,确定占用资源大的机器,再查看这个机器上对应的哪个服务抢占资源大 确定到对应的服务之后,可以看这个服务是干什么的,为啥抢占资源大

    作者回复: 看似理解了。

    2021-07-12
    2
  • 不将就
    还是只有一个 ES data 的 CPU 使用率高,所以我想查一下 ES 中的数据分布。因为负载均衡的问题解决了,并且知道有三个 ES data 节点。现在我们就要知道是不是每个节点都被访问到了。 ----高老师,这里涉及的是什么命令?

    作者回复: 这个直接在ES界面里查就行了。

    2021-10-24
    1
  • Geek_f9e0e5
    传统架构有什么好方法拆分响应时间吗,非微服务的

    作者回复: 看日志。

    2021-09-07
    1
  • yz
    1,当负载均衡时主要分析方向是 负载均衡服务器? 2,全局分析发现问题再定向分析发现有个

    作者回复: 1. 负载均衡主要是转发能力、均衡效果。 2. 没看懂要说啥。哈哈。

    2021-06-01
    1
  • 继贤
    老师,你讲的性能调优要先将资源利用起来,这个资源使用到达多少就算是合理了,比如CPU,有些系统是80%,有些可以到100,该怎么衡量?

    作者回复: 要分析下资源是用到了哪里才能判断合理不合理。在性能测试中,可以用到100%,但是在生产上是不可以的。所以资源使用到多少要看场景和业务影响。

    2021-04-23
    1
  • Geek_678a7f
    这篇确实有点难了,首先不懂K8S的负载均衡怎么搞的,其次es也不太懂。。。

    作者回复: 难搞也得搞。反正问题要解决,不是自己解决也得是团队中的人解决。

    2023-05-21归属地:北京
  • Only look at me
    skywalking响应时间的分析环节,为什么判断消耗都在ES上呢?

    作者回复: 代码中有调用ES的具体过程。

    2022-12-12归属地:广东
  • 小乐天天
    老师,您的整体监控用的是什么工具?

    作者回复: grafana+prometheus.

    2022-02-23
  • Geek_f9e0e5
    mq双master部署,会不会有多副本的情况呢

    作者回复: 你是说mq里面的数据多副本?还是说容器级的多副本?

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