当前位置: 首页 > 工具软件 > Olivia > 使用案例 >

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

陶高峯
2023-12-01
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    //总共被分配的内存

 类似资料: