Mysql经常挂wordpress_ECS内存占用高导致wordpress数据库经常挂掉的两种解决方法

本文介绍了针对WordPress网站频繁出现数据库挂掉问题的两种解决方案。一是修改WordPress的内存限制,将`WP_MEMORY_LIMIT`增大到512M。二是调整PHP-FPM配置,优化`pm.start_servers`, `pm.min_spare_servers`, `pm.max_spare_servers`和`pm.max_requests`等参数,以降低内存占用。实施后,内存占用率从98%降至54%,效果显著。" 122241579,1086130,MySQL数据文件、日志及配置详解,"['数据库', 'mysql', 'database', '日志管理', '配置管理']
摘要由CSDN通过智能技术生成

wordpress搭建的网站,xianganyu.com用的是一个超级简单的主题,阿里的免费虚机,纯粹的文字内容,几乎没有插件。flytofilm.com用的是正版begin主题,插件尽可能少,最近连seo插件都没用了,但是依旧经常宕机,动不动提示数据库连接错误,重启立刻恢复。看了看,内存占用一直在90%以上,所以怀疑是主题功能太多,占用内存高,导致mysql挂掉。几乎一天挂一次了。

目前反而免费虚机稳定,不过一被攻击就停机4小时实在受不了,不过反正就是放自己文字,没什么别的用处,也没想要人访问,所以无所谓了。flytofilm.com飞向电影还是希望能有些访问的,但是一直经常性的出现mysql挂掉的问题,自己网站运维确实是小白,心碎。

关于ECS上搭建wordpress网站,mysql挂掉的问题,网上好多建议用阿里云RDS,但是价格太高,目前低配一年就1000多,比ECS价格贵得多。对于一个没收入的个人小站来说,没必要投这个钱。也有建议升级内存的,但是我不确定是不是确实就仅仅是内存问题,留待观察,有必要的话倒是可以升级一下。

问度娘了之后,做了些修改。

一:通过修改WordPress自身文件修改放宽内存限制(如果你也是由于使用过多插件造成该问题的,建议使用此方法)

只要打开WordPress根目录wp-includes文件夹下default-constants.php文件,搜索“set memory limits”找到如下代码

// set memory limits

if ( !defined('WP_MEMORY_LIMIT') ) {

if( is_multisite() ) {

define('WP_MEMORY_LIMIT', '64M');

} else {

define('WP_MEMORY_LIMIT', ‘40M');

}

}

if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {

define( 'WP_MAX_MEMORY_LIMIT', '256M' );

}

然后把define(‘WP_MEMORY_LIMIT’, ‘40M’);32M这个默认值修改为更大一些的值,我把它修改为512M!

二:修改php-fpm.conf的pm.start_servers、pm.min_spare_servers、pm.max_spare_servers等项

据说问题出在PHP-CGI会释放内存,但并不会把内存归还系统,所以当过多的PHP-FPM子进程存在时,内存就会一点点被吃干,最终导致溢出。

php-fpm.conf文件在/alidata/server/php/etc里,找到并做了几项修改:

打开编辑这个文件,可以通过FTP或者LINUX命令行进行修改。主要涉及几个参数。

pm 这个是设置运行方式的,分别是static(静态)或者dynamic(动态)

默认应该是在214行左右,显示为?pm = dynamic,意思就是动态方式,如果内存小,比如512M,1G,2G之类,建议使用动态。

pm.max_children:静态方式下开启的php-fpm进程数量,这个是有在pm模式为static的情况下生效。

pm.start_servers:动态方式下的起始php-fpm进程数量,这个是pm位dynamic模式下需要设置的参数,意思就是启动运行时建立的起始php-fpm进程数量,默认20,暂时改成pm.start_servers =?3

pm.min_spare_servers:动态方式下的最小php-fpm进程数,默认5,暂时改成pm.min_spare_servers =?3

pm.max_spare_servers:动态方式下的最大php-fpm进程数量,默认60,暂时改成pm.max_spare_servers =?10

pm.max_requests:接受多少次请求后自动重启进程的,默认是500,暂时改成pm.max_requests = 200

重启后睡觉了(呃,太晚了),第二天看了下云监控,内存占用从98%,降到了54%.

目前就改了这两处,留待观察。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值