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

17 | 查询购物车:为什么铺底参数一定要符合真实业务特性?

你好,我是高楼。
今天我们来看看查询购物车接口。
到现在为止,这是我们分析的第六个接口了。不过,我希望你能明白,我们分析每个接口,并不是为了搞清楚这个接口本身的逻辑,而是通过不同接口的基准测试,来分析不同的性能问题,争取给你带来更多的分析案例。
现在很多人在性能场景执行过程中,仍然会问出“当铺底数据不符合生产环境时,该怎么办”这样的疑问,其实答案也挺简单,那就是模拟不出生产环境中的问题。
所以,在这节课中,你将看到当铺底数据不合理时,会对 TPS 产生什么样具体的影响。由此,你会进一步理解为什么我一直在跟你强调铺底数据要符合生产环境逻辑
此外,我们还会分析另一个问题,这个问题可能会让你看着比较郁闷,你会发现我们分析了很久,逻辑看似非常合理,但是结果并不如人意。面对这样的情况,那我们该怎么处理呢?这里留个悬念,我们直接开始今天的分析。

压力数据

对于查询购物车这个接口,还是一样,我们先来看第一次运行的性能场景结果。这是一个一开始就足以让人心碎的性能数据:
你看,线程数在增加的过程中,TPS 只达到 40,而响应时间从一开始就不断地增加。
这可怎么办呢?根据我们 RESAR 性能分析逻辑,第一步仍然是看架构图,接着是拆分响应时间。因为响应时间在不断增加,所以我们想要拆分响应时间非常容易。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在性能场景执行过程中,铺底数据不符合生产环境时的影响,以及如何进行性能分析和解决问题。作者通过分析查询购物车接口的性能数据,指出了铺底数据不合理时对TPS的影响,并强调了铺底数据要符合生产环境逻辑的重要性。在分析过程中,作者提到了拆分响应时间、架构图、定向监控分析等方法,以及通过Arthas来Trace接口、查看数据库直方图和执行计划等具体操作。最终,作者总结出了解决方案,包括创建索引和做分页,以解决查询接口性能问题。整篇文章通过实际案例详细展示了性能分析的方法和解决问题的思路,对于需要进行性能优化的技术人员具有一定的参考价值。文章内容涵盖了性能分析的实际操作步骤和解决问题的思路,对读者快速了解性能优化具有一定的指导意义。文章还提到了在实时交易中快速判断数据库数据量引发的性能问题以及从CPU使用高定位到GC效率引发的性能问题,为读者提供了进一步思考和讨论的空间。

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

全部留言(8)

  • 最新
  • 精选
  • zhian
    高老师您好,想问一下您,怎么看懂和理解sky walking图片里响应时间的拆分呢,比如cart- member,cart客户端、cart服务端这些响应时间ms?

    作者回复: 根据架构图的路径,前一节点包括后面所有节点的时间。

    2021-04-28
    3
    3
  • jy
    老师,有两个疑问,谢谢。 1、看了17和18,对ygc频繁的问题没看到下文呢?是不是年轻代设置不合理导致ygc频繁且耗时多?或者考虑并发收集器G1并设置停顿时间(对停顿时间有要求) 2、-XX:+UseParNewGC是年轻代收集器,那老年代收集器是? 我记得CMS是和ParNew配合使用的,如果是cms,直接指定:-XX:+UseConcMarkSweepGC

    作者回复: 1. 因为这个问题和gc无关,是由于资源争用才产生的ygc频繁。后面文章中有相应的优化动作。 2. 年老代不就是cms吗?

    2021-07-16
    2
  • VeryYoung
    老师你好,请问下Ingress的问题是在哪里发现的?

    作者回复: 文中有说呀,在支线问题中,用走ingress和不走ingress都执行了一下场景。 这样做是为了分段测试。

    2021-08-17
    1
  • zwm
    既然如此,那我们先查一下 Gateway 在哪个 worker 上 老师,为什么应用所在的worker看不到内存,之后就跳到排查 网关了?

    作者回复: 上面不是说,在gateway上消耗的时间长吗?所以要看gateway所在的worker上的内存资源,而worker是上又有可能运行着其他的服务,所以接着查下去。

    2021-07-07
    1
  • Geek_678a7f
    老师现在还来回复留言吗?文中说到的delta值是啥子呀,百度都搜不到呢。。。

    作者回复: delta就是增量的意思。 由于极客时间的app不推送留言,所以回复可能不及时。可以加我微信:Zee_7D

    2023-05-18归属地:北京
  • LQQ
    老师 请问一下 支线问题2中报的错具体是什么错误?可否贴出来?

    作者回复: 这个~我没保存。😊

    2021-09-28
  • 道长
    咱这压测练习好多时候,找到问题了不知道如何去优化,就卡那了。

    作者回复: 所以要学思路嘛。卡住的原因不是因为不知道手段,而是会了一堆手段,不知道怎么用。

    2021-05-07
  • 张东炫
    高老师,希望尽快出个 项目搭建教程,好照着实操一下

    作者回复: 搭建教程已经给编辑了,看美女编辑什么时候发出来吧。

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