性能测试持续学习 mysql 性能问题排查

会飞的猪 · 2020年05月15日 · 844 次阅读

mysql 出现性能问题时该怎么做呢?

首先分析问题发生的原因有哪些呢?
慢查询、高并发、磁盘不足、单表存储数据过多。。。

可以采用常见操作

1、开启慢查询日志
show variables like 'slow_query_log';

打开慢查询的开关
set global slow_query_log=1

然后再日志目录下就可以慢查询的日志了,然后再进一步分析 SQL 的问题

2、查看具体线程,查看是否是线程过多,超过了 mysql 的连接数
show processlist
show full processlist
processlist 命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。

3、查看当前连接数
SHOW STATUS LIKE 'Thread_%';

4、查看表占用的磁盘情况,判断是否磁盘满了
SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_NAME = '实例名';

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册