2020-03-05 慢sql导致rds 系统CPU和内存使用率持续100%导致接口无法连接

2020-03-05 慢sql导致rds 系统CPU和内存使用率持续100%导致接口无法连接,第1张

事故描述:

一天中午生产环境经常出现连接超时,过了一会儿能连上的现象;中午的时候尤其严重,服务无法连接,接口访问持续报错,查看日志均无error日志。

事故处理过程:

打开阿里云的控制台,找到rds的实例点进去,发现cpu使用率已经到达100%,后续点开侧边栏里面的一键诊断,看到里面的异常会话有很多,都是一条作业查询的sql导致的,古断定为慢sql导致的,通过添加表索引解决了问题。

事故总结:

问题就是数据量增多后表不加索引会导致关联查询的sql越来越慢慢,最后慢sql造成会话异常,异常的会话没有关闭会导致rds这台服务器cpu使用率达到极限,从而导致其他sql执行过慢,甚至直接执行不下去。

用户可以使用不同的数据库客户端或命令行语句访问RDS数据库。下面分别介绍MySQL和SQL Server的访问方法。

一、提供3种访问MySQL数据库方法

点击了解如何提升RDS响应速度

方法1:客户端:Mysql-Front

首先,启动Mysql-Front后会有一个添加对话的对话框d出,在名称处可输入任意名称。

其次,点击“连接”选项卡。

在服务器处:填写RDS的数据实例链接名(如example201108.mysql.alibabalabs.com)。

在端口处:3306。

然后,点击注册选项卡,在用户和密码处输入申请数据库时填写的数据库用户名和密码后,点击下图箭头所示的小方框,就可以选取要连接的数据库

最后,d出数据库登录的对话框时,请继续点击确定按钮。便可链接并使用RDS数据库。

方法2:Navicat_mysql

在连接输入框中输入数据实例链接地址,端口(默认3306),数据库用户名和数据库密码后,点击确定即可。

方法3:Mysql命令登录

用户安装MySQL客户端后,可进入命令行方式链接数据库。

命令格式:mysql -u user_name -h example.mysql.alibabalabs.com -P3306 -pxxxx

其中,-u 指定的是用户名, -h指定的是主机名, -P指定的是端口, -p指定的是密码。

二、访问SQL Server数据库方法

使用SQL Server Management Studio访问RDS SQL Server数据,输入RDS实例连接地址,端口号,数据库用户名和密码。链接端口号请输入3433


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11385045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存