美文网首页
性能测试(四)数据库cpu高分析方法

性能测试(四)数据库cpu高分析方法

作者: 简书遇见简书 | 来源:发表于2021-08-02 15:30 被阅读0次

    在压测一个申请接口过程中发现一个比较奇怪的现象,小并发(5个线程)情况下,数据库的cpu很快上升到90%多,应用cpu及qps都很低

    数据库cpu及内存监控 应用cpu及内存监控 压测结果

    发现问题后进行了如下排查:

    1.首先可以确定瓶颈在数据库,需要先排查qps比较低的情况下为何数据库的cpu很高。首先先进行慢sql的排查。通过阿里云自带的数据诊断工具诊断后,未发现慢sql。通过pinpoint查看请求的链路发现sql的时间响应比较快,基本在10ms以内。

    2.使用show full PROCESSLIST命令在压测期间多次执行该命令,并将结果导出。通过分析导出的执行文件

    查看cpu中详细情况发现仅有4条sql。使用EXPLAIN发现sql未命中索引,导致全表扫描。最终通过优化索引的方式解决问题。

    问题复盘:

    1.全表扫描的sql为何诊断工具未发现为慢sql

    通过排查发现,索引未命中的表数据量为44万,既不算多也不算少,因此全表扫描的响应时间没有特别长。如果该表数据量特别大,那么sql语句响应速度会特别慢,诊断工具就会发现这个慢sql

    2.怎么分析出来该sql未命中索引?

    一般可通过EXPLAIN来查看sql是否高效。

    相关文章

      网友评论

          本文标题:性能测试(四)数据库cpu高分析方法

          本文链接:https://www.haomeiwen.com/subject/oclcsltx.html