问题描述

MySQL实例在日常使用中会出现实例IOPS使用率高的情况,本文将介绍造成该状况的主要原因和解决方法。

问题原因

实例内存满足不了缓存数据或排序等需要,导致产生大量的物理IO。

查询执行效率低,扫描过多数据行。

解决方案

阿里云提醒您:

如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

您可以通过以下任意一种途径或结合使用两种途径来解决IOPS使用率高的问题:

生成实例当前诊断报告,推荐使用该方式。

终止问题查询。

通过SQL窗口优化功能来优化查询。

生成实例当前诊断报告(推荐方式)

在DMS控制台上登录数据库。

选择性能>诊断报告。

单击发起诊断,即可创建一个针对当前实例运行情况的报告,如下图所示。

单击查看报告,查看其中的SQL优化、会话列表、慢SQL汇总部分,如下列图片所示:

SQL优化

会话列表

慢SQL汇总

根据SQL优化中的建议,做出相应优化。如上述步骤中的情况建议执行ALTER TABLE large_tab_03 ADD INDEX IDX_COL01(COL01)SQL语句,即为在表large_tab_03字段col01上添加索引idx_col01(col01)。

说明:

在SQL优化没有直接给出建议的情况下,需要结合会话列表和慢SQL汇总的信息进行查询优化。

建议在业务低峰期进行添加索引操作。如果添加过程中出现等待表元数据锁的情况,请参见如何解决MDL锁导致无法操作数据库的问题。

索引添加完毕后,查询执行就会快速完成,IOPS使用率即会降低。

终止问题查询

您可以通过DMS控制台上的实例会话或命令查询和终止问题查询,建议您将物理读(Physical_sync_read和Physical_async_read)高的查询终止掉。

说明:

RDS实例在连接数打满的情况下,无法通过DMS或者MySQL命令行工具连接登录实例。

如果无法通过DMS或MySQL命令行工具连接,建议您先在RDS控制台的参数设置中将wait_timeout参数(单位秒)设置为比较小的值(比如60),让RDS实例主动关闭空闲时间超过60秒的连接,以便稍后可以通过DMS或者MySQL命令行工具连接访问实例。

通过实例会话终止问题查询

在实例诊断报告不可用或者无法立刻使用其建议的情况下,可以先通过DMS控制台上的实例会话来终止问题查询。

说明:需要应用方面首先停止提交问题查询,否则会出现不断终止、不断出现的情况。

在DMS控制台上登录数据库。

选择性能>实例会话,显示结果如下图所示。

从上图可以看出,有10个会话在执行以下SQL查询语句。

select b.*

from perf_test_no_idx_01 a,

perf_test_no_idx_02 b

where a.created_on>= '2015-01-01'

and a.detail= b.detail;

单击Kill 会话,来终止问题查询。

通过命令终止问题查询

通过MySQL命令行工具连接实例。

通过以下方式,查看会话情况,来确定问题会话。

通过执行show processlist;命令查询,结果如下图所示。

若当前执行会话比较多,通过执行show full processlist;SQL语句来查询,结果如下图所示。

执行kill [$ID]命令,终止相关会话。其中[$ID]为上述步骤查询结果中的ID列值。

通过SQL窗口优化功能来优化查询

在DMS控制台上登录数据库。

选择SQL 操作>SQL窗口。

单击优化,获取诊断结果。

根据诊断结果中的建议,来优化查询,如下图所示。

适用于

云数据库RDS MySQL版

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。

mysql iops_MySQL实例IOPS使用率高的原因和解决方法相关推荐

  1. MySQL CPU 使用率高的原因和解决方法(来自aliyun官方文档)

    MySQL CPU 使用率高的原因和解决方法 更新时间:2017-03-17 13:25:52   分享: 用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将 ...

  2. MySQL CPU 使用率高的原因和解决方法

    MySQL CPU 使用率高的原因和解决方法 参考文章: (1)MySQL CPU 使用率高的原因和解决方法 (2)https://www.cnblogs.com/wyy123/p/9258513.h ...

  3. mysql利用cpu率高_MySQL CPU 使用率高的原因和解决方法

    用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...

  4. mysql cpu 高 原因 汇总_MySQL CPU 使用率高的原因和解决方法(来自aliyun官方文档)

    用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...

  5. MySQL 实例空间使用率过高的原因和解决方法

    MySQL 实例空间使用率过高的原因和解决方法 参考文章: (1)MySQL 实例空间使用率过高的原因和解决方法 (2)https://www.cnblogs.com/drizzle-xu/p/ali ...

  6. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...

    内存占用率过高,是电脑十分常见的电脑故障,出现的现象就是什么软件还没有打开,内存占用了70%以上,甚至是99%,出现电脑明显卡顿的问题.不过想要解决内存占用率高不是简单的事情,因为可能性比较多,可能是 ...

  7. CPU使用率过高的原因及解决方法

    常见的CPU使用率过高可不是职场CPU哦,而是电脑的中央处理器,CPU作为计算机系统重要的运算和控制核心,可谓是"很忙"的存在.在我们日常使用电脑设备时,由于打开的软件.游戏.网页 ...

  8. Windows 10 操作系统 System Interrupt 系统中断 CPU 占用率高的原因和解决方法

    原文:7 Fixes to System Interrupts High CPU Usage in Windows 10 什么是系统中断? 为什么系统中断使用这么多 CPU? 是病毒吗? 如果您使用 ...

  9. mysql安装过程中failed_mysql安装失败原因和解决方法

    作者:CWS_chen 转载自https://blog.csdn.net/ mysql数据库安装不了了!mysql最后一步安装不上!mysql就是安装不上!是不是很头疼,很伤脑筋,现在大家不用着急了, ...

最新文章

  1. linux apache无法启动,linux mysq 无法启动 apache 无法启动
  2. C语言初学者代码中的常见错误与瑕疵(9)
  3. Jupyter notebook Ipython 魔法函数 Magic 计算代码(函数)耗时 Timing(%%time %time %timeit)
  4. Redis 入门笔记
  5. [Java] 蓝桥杯ADV-166 算法提高 聪明的美食家
  6. arch linux u盘安装,安装 ArchLinux 到U盘(四)安装Archlinux
  7. ggtree/FigTree可视化系统发育树及bootstrap值
  8. 节假日查询 麦谈帮API数据接口
  9. 2022年全球光纤机械接头市场前景分析及研究报告
  10. oracle数据库interval使用,Oracle Interval类型
  11. week8-csp-B(HRZ学英语)
  12. vue使用高德地图第一次进去点标记有数据,第二次进去就没有了
  13. 4 Django 路由分发 名称空间 伪静态 虚拟环境 版本区别 视图层
  14. 扭转二战战局的密码系统 | 历史上的今天
  15. 反射:获取Class类的三种方法
  16. PostgreSQL修改用户密码
  17. 人工智能究竟离我们有多远?
  18. 【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)
  19. 迅雷影音tv版 v5.1.1.3091 官方版
  20. 丰炜vb0和两台变频器的modbus rtu通信程序 史上最好用的plc modbus rtu通讯程序, 通讯效果如视频,控制,反馈无延迟

热门文章

  1. 二、在VMware中搭建PHP集成环境(lamp/lnmp/lanmp)
  2. hadoop 学习笔记:mapreduce框架详解
  3. coreData数据操作
  4. RocketMq消息队列使用
  5. 英媒:滴滴和优步每年烧钱64亿
  6. 学习笔记之APACHE ANT
  7. DNS高级部署使用RSYNC部署搭建DNS view主从服务
  8. LINUX下源码包安装mysql
  9. 项目管理系列之项目范围时间及资源管理(二)
  10. linux删除大量文件时遇 -bash: /bin/rm: Argument list too long 错误