16 | 商品加入购物车:SQL优化和压力工具中的参数分析
高楼
你好,我是高楼。
今天这节课,我用商品加入购物车接口,来给你讲一讲 SQL 优化和压力工具中的参数分析。
对于 SQL 的优化,很多人一看到数据库资源使用率高,就猜测是 SQL 有问题。这个方向看起来没错,但是,具体是哪个 SQL 有问题,以及有什么样的问题,往往回答不出来。因此,这节课我会教你怎么根据资源使用率高,快速定位到有问题的 SQL,并做出相应的调整。此外,你还将看到,当压力工具的参数使用不合理时,我们应该如何处理由此产生的数据库锁的问题。
现在,我们就开始这节课的分析。
压力数据
对于商品加入购物车这个接口,我们第一次运行的性能场景结果如下:
看着有一种想哭的感觉,有没有?从这张图来看,问题不止一个。我用自己在有限的职业生涯中吸收的天地之灵气,打开天眼一看,感觉这里有两个问题:
TPS 即使在峰值的时候,也不够高,才 50 左右;
TPS 在峰值的时候,有大量的错误产生。
那哪个问题更重要呢?有人可能说,明显应该处理错误呀,有错误看着不眼晕吗?如果你是有强迫症的人,那没办法,可以先处理错误。
不过,在我看来,先处理 TPS 不高的问题也是可以的。因为虽然有错误产生,但并不是全错呀,只有 5% 的错,你着个啥急。
可是,不管怎么着,我们都要走性能分析决策树的思路。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了SQL优化和压力工具参数分析的方法和技巧。作者首先指出了在数据库资源使用率高时,很多人会猜测是SQL有问题,但具体是哪个SQL有问题,以及有什么样的问题,往往回答不出来。接着,作者介绍了如何根据资源使用率高,快速定位到有问题的SQL,并做出相应的调整。同时,还讨论了当压力工具的参数使用不合理时,应该如何处理由此产生的数据库锁的问题。通过分析商品加入购物车接口的性能场景结果,提出了解决TPS不高和错误产生的问题。作者从拆分响应时间、全局分析和MySQL全局监控等方面展开了具体分析,最终得出了需要重点关注SELECT语句的结论。整体来看,本文通过实际案例分析,深入浅出地介绍了SQL优化和压力工具参数分析的方法和技巧,对于需要进行数据库性能优化的技术人员具有一定的参考价值。文章内容涵盖了从资源使用率高的问题定位到具体SQL优化的方法,以及压力工具参数对数据库锁问题的影响,通过实际案例分析展示了解决TPS不高和错误产生的方法,为读者提供了全面的数据库性能优化思路。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高楼的性能工程实战课》,新⼈⾸单¥59
《高楼的性能工程实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- 馒头大王根据系统指标现象看问题 一、TPS低/响应耗时长 1、分析链路-推荐skywalking 2、发现service-MySQL耗时较长 3、确定慢SQL 方法1:MySQL Report-pt-query-digest(解析慢日志) 方法2:RDS→日志管理 注:一般伴随着DB CPU高 4、”执行计划“分析慢SQL (执行 explain 或 desc + SQL) 5、添加相关索引 无法通过索引解决的根据业务优化代码 6、问题解决 二、报错/错误率高 1、查日志 2、具体问题具体分析 譬如: 1)参数 2)主键冲突 3)超时 4)服务降级 ~~~~
作者回复: 总结的不错哦。
2021-04-279 - 同心飞翔老师,是否可以推荐个有各种性能问题的开源系统,大家来练手。还是要自己实践
作者回复: 正在写搭建环境的文章,本来想着自己随便找一个都能玩,看到问的人多,所以打算加一篇。
2021-04-2633 - 姑射仙人为什么是Cart - MySQL影响最大,看图上才113ms。User - Gateway,Gateway - Cart平均响应时间也很大呀,这块是怎么回事?
作者回复: 是的。GW - cart也大,不过那是另一个问题。
2022-01-20 - 安静。。。2. 你能画出在第二阶段分析中的逻辑吗? 因为错误数量随着请求数量的增加而增加 查看错误的日志,确定代码是在add的时候报错 那么同时请求add的场景,跟实际的场景有关系 实际上可能不会有多个用户同时请求的场景,需要修改压测数据
作者回复: 用户肯定是会有多个用户的。
2021-07-12 - 公瑾老师,慢日志阈值一般设置成多少,100ms左右吗?
作者回复: 看业务的需求指标。
2021-06-17 - z-Amy老师你好,请问MySQL Report 是什么命令打印出来的?2024-02-22归属地:北京
收起评论