我们有很多应用程序使用不同的数据库运行在我们的服务器上。mariadb进程目前使用的CPU约占CPU的85%,这是非常高的。我们想找出我们可以尝试和优化的地方。是否可以通过db用户、数据库或表来跟踪CPU的使用情况?(粒度越细显然越好,但是即使是像%这样的用户已经有了很大的帮助)
MySQL慢速查询日志已经在运行,结果不多。我们也尝试过在CPU加速时执行SHOW PROCESSLIST;,并在用户统计数据中查看CPU_TIME,但这并没有多大帮助。
发布于 2022-08-31 11:30:20
启用userstat插件后,您可以在INFORMATION_SCHEMA.USER_STATISTICS表中找到每个用户的CPU使用信息。看见
https://mariadb.com/kb/en/user-statistics/
和
https://mariadb.com/kb/en/information-schema-user_statistics-table/
发布于 2022-09-01 03:44:31
打开慢速日志,将long_query_time设置得相当低。
几个小时后,使用pt-query-digest或mysqldumpslow -s t总结输出文件。
注意:慢日志记录的是经过的时间,而不是CPU时间。但通常情况下,它比CPU更重要。两者之间是有关联的。
更多:
https://stackoverflow.com/questions/73554670
复制相似问题