数据库使用的是 aws 的 rds;
上线后从它的监控面板看到 cpu 使用率大概增加了一倍 做了些工作,但是还是找不到原因
说一下自己已经做过的工作:
有大佬能提供一下排查思路吗?感激不尽
1
pmispig 2020-09-22 10:47:22 +08:00 2
top 查看 mysql 哪个线程 CPU 使用率高,然后 select * from performance_schema.threads where THREAD_OS_ID=xxx;
|
2
yumenawei 2020-09-22 10:50:07 +08:00
更改了 SQL 语句吗?
可能是由于某些计算量大的聚合操作导致的,比如说 max min |
3
pmispig 2020-09-22 10:50:47 +08:00
如果是 rds 的话可能只能用点巧劲儿,把所有的 SQL 日志都打出来,分析下,(执行频率高 and 执行时间很长 )做一个并集,就是这个 SQL,再去找属于哪个应用和业务
|
4
chanlk OP |
5
tieqishan07li 2020-09-22 11:09:44 +08:00
直接提工单让 AWS 查一下,他们肯定有排查思路
|
6
chanlk OP 这个问题几天前解决了额,回帖终结一下这个.
因为没有数据库的权限,让运维小哥帮忙看了下表 in_use 的情况,发现有几个表一直被使用着. 查了下代码,原因就是有一个接口查询的频率太高了,后面改了下这块的查询逻辑就好了. |
7
avatasia 2020-09-29 14:30:47 +08:00
这个不叫解决吧, 为什么频率高就会影响 CPU?
有没有热块的概念, 有没有争用的概念. 减少查询频率就好啦? |