最新消息:阿里云双12优惠,史上最低折扣。

WordPress数据库mysql 占用cpu 100%常用解决方法

服务器配置 aliyun 377浏览 0评论

最近网站cpu跑到100%-200%,网站也比较卡,很难打开。登陆宝塔后台看了下负载飘红了。

1、登陆ssh ,用top命令查看具体占用程序。

果然是mysql,占用100%

2、登陆phpmyadmin,sql查看具体占用的是什么

show processlist;

大量的Sleep 占用,time都是900左右。。。

3、ssh 登陆mysql

mysql -u root -p   root 替换为数据库用户名 回车,然后输入密码。

查询show VARIABLES LIKE “wAIt_timeout”; 时间为28800。

 

编辑 /etc/my.cnf,在mysqld 下 新增 timeout参数,设置为120秒,如下:

【mysqld】
wait_timeout=120
interactive_timeout=120

注意:要同时设置interactive_timeout和wait_timeout才会生效。

最后重启一下mysql 生效 即可!

 

另外通过查看网站日志,看到大量wp-cron.php?doing_wp_cron=16422223.949853338488769531 访问记录。

搜索一下,发现这个wp-cron.php是用来实现wordpress的定时任务的。比如wordpress的定时备份、定时发布文章等都需要用到定时任务功能,这个功能是靠wp-cron.php来实现的。用wordpress,离不开各种插件,但许多插件都会为自身性能而去添加一些wp-cron定时任务,当我们卸载插件后,这些定时任务并不会被完整移除,会有一些残留。久而久之,wordpress就会经常运行一些没有实际意义的定时任务,造成资源占用较高的情况。如果后台有很多的这种定时任务,鉴于阿里云虚拟主机的孱弱配置,就很容易出现cpu占用超标而宕机的情况。

转载请注明:小猪云服务器租用推荐 » WordPress数据库mysql 占用cpu 100%常用解决方法

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址