如何查询MySQL数据库IO过高和用户压力#Olivia丶长歌#

  • Post author:
  • Post category:mysql


1,show processlist;看一下时间长的sql,主要是update,insert,delete等

查看具体的磁盘消耗

DBA可以根据该指标查询具体的IO消耗在哪个表上。然后针对于特定的数据库和表进行优化

mysql>select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;

查询用户压力mysql> show tables like ‘user%’;

+———————————–+

| Tables_in_sys (user%)             |

+———————————–+

| user_summary                      |

| user_summary_by_file_io           |

| user_summary_by_file_io_type      |

| user_summary_by_stages            |

| user_summary_by_statement_latency |

| user_summary_by_statement_type    |

+———————————–+

6 rows in set (0.00 sec)

mysql> select * from user_summary\G

*************************** 1. row ***************************

user: root

statements: 3331        //用户执行的SQL语句总数量

statement_latency: 2.86 s        //该用户执行SQL总的等待时间,即累计的SQL执行时间

statement_avg_latency: 857.30 us    //单次SQL的平均执行时间

table_scans: 67    //全表扫描次数

file_ios: 23626    //io次数

file_io_latency: 1.72 s    //io消耗的总时间

current_connections: 1    //该用户的当前连接会话数

total_connections: 9    //该用户连接会话总数

unique_hosts: 1    //用户发起的连接中唯一主机的数量,即从几个主机发起过数据库连接

current_memory: 0 bytes    //当前被分配的内存

total_memory_allocated: 0 bytes    //总共被分配的内存



版权声明:本文为yunhua12原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。