本文作者:温文曦

WordPress开启redis缓存后内存CPU100%问题排查

WordPress开启redis缓存后内存CPU100%问题排查摘要: ...

WordPress开启redis缓存后内存CPU100%问题排查

问题描述:

本以为网站开启了redis插件之后,速度会大大提升,刷新FLUSH之后结果却cpu突然爆满,没刷新前是正常的。redis并没有起到查询次数减少的基本作用。网页的速度也被服务器的负载拖累。不知道是什么问题,所以开始漫长排查相关配置或者问题。

观察redis的数据库键值对变化为非有规律的逐渐增长,而是随机变化键值对的数量,可以通过宝塔面板刷新redis查看或者参考本站相关文章。

wordpress简单介绍: WordPress功能很强大,但是性能确实比较慢, WordPress采用的是动态数据库查询技...
2571
排查经过:
问题一:(考虑到内存不足导致的问题,常规问题可以用此方法尝试)

修改wp-congif.php配置文件增加内存

define(‘WP_MEMORY_LIMIT’, ’256M’);

如果还不行 256M改成512M

结果:实际测试操作无效。

问题二:(还是考虑到内存不足导致的问题,常规问题可以用此方法尝试)

打开wp-includes目录下default-constants.php文件,找到如下代码(如果没有就新增):

  1. // set memory limits
    if ( !defined(‘WP_MEMORY_LIMIT’) ) {
    if( is_multisite() ) {
    define(‘WP_MEMORY_LIMIT’, ’64M’);
    } else {
    define(‘WP_MEMORY_LIMIT’, ’32M’);
    }
    }
     
    if ( ! defined( ‘WP_MAX_MEMORY_LIMIT’ ) ) {
    define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
    }
     
    然后把define(‘WP_MEMORY_LIMIT’, ’32M’)中的32M修改为64M,或者增大96M 128M。
问题三:(可能是由于某个插件影响的,其他人可尝试操作)

禁用插件

结果:实际测试操作无效。

问题四:(考虑到服务器本身配置不足以支撑环境的运行,其他人可尝试操作)

优化 数据库 PHP 性能

服务器内存提升

目前看2G内存不够使用,增加到4G

PHP INI 基本设置 中修改可用内存大小,原来默认可用内存是256M,修改成512M。

结果:实际测试操作无效。

问题五:(考虑到近期的WordPress版本问题,其他人可尝试操作)

WordPress版本升高或者降低

结果:实际测试操作无效。

问题六:(网站在维护菜单过程中包含大量遗留和autoload键值对)

删除原始菜单,重新新建菜单(可以新建页面打开,然后删除原始菜单,新建菜单的时候参考新建页面)

结果:有部分效果但很少。

验证通过,点击下方按钮查看内容
隐藏内容


最终问题:(wp-options表特别大,另外出现大量的menu cache)

忘记了排查问题最根本的方法就是开启DEBUG模式,开启之后重新刷新网页错误成功展示出来了。

WordPress网站前台或后台出现Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in xxx.php on line xxx的解决办法。

错误的意思是:wordpress网站程序占用主机CPU和内存资源大,主机分配的可用内存满了,用完了,需要增加可用内存。


特别说明:一般这种情况会出现流量比较大的网站,小流量的网站暂时没有接触过或听说过有类似的问题。


开始排查:

查看数据库:发现wp-options表特别大,另外出现大量的menu cache。

表单介绍: WordPress 的 wp_options 表是存储网站的全局配置选项的地方。这些选项包括站点标题、语言、时区...


删除缓存:删除这些cache表之后网站恢复正常(数据库注意先备份),不过继续追踪数据库,这些cache表还是继续产生!

解决方式:(目前redis的解决办法还没想到,欢迎大神评论区留言指导!)

方式一:新建个同名字的站点,将wp-option表全部导入线上表。

方式二:使用memcache来替代redis


文章版权及转载声明

作者:温文曦本文地址:https://www.wxnotes.com/blog/693.html发布于 09-29
文章转载或复制请以超链接形式并注明出处文曦博客

赞(3)
阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,823人围观)参与讨论

还没有评论,来说两句吧...