记一次网站cpu过高网站崩溃排查

问题:网站一直转圈无法访问

排查:

1:登录阿里云查看服务器状态,显示正常【运行中】
2:查看阿里云服务器【监控信息】显示cpu使用率高达60%
3:Xshell连接服务器使用【top】命令查看cpu使用情况显示【mysql占用cpu高达280%】
4:使用navicat连接数据库使用使用【show full processlist;】命令,列出所有正在执行的sql语句
6:通过分析发现存在大量重复且执行时间过长的慢语句

结论:

1:sql语句执行过慢需要优化
2:临时表大小过低需重新分配

紧急处理:

使用mysql【kill id;】命令杀死执行线程

最终处理:

1:重新优化语句,去除无用联表,精准查询条件
2:优化数据库配置etc/my.cnf【修改后无需重启】
临时表大小:【tmp_table_size=200M】
临时表最大上限:【max_heap_table_size=200M】
join联表查询缓存性能:【join_buffer_size=8M】

mysql查询结果注解:

Id:连接mysql 服务器线程id,可以通过kill杀死该线程。

User:连接当前线程的数据库用户

Host:执行该语句的用户IP

db: 线程连接的数据库,如果没有则为null

Command: 显示当前连接的执行的命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)

Time: 线程处在当前状态的时间,单位是秒

State:显示使用当前连接的sql语句的状态

Info: 线程执行的sql语句(用于分析排查的sql语句),如果没有语句执行则为null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值