WordPress使用memcached缓存提高系统稳定性

最近给我们另一个网站迁移到了腾讯云轻量服务器中,主要原因还是为了节省成本,但是腾讯云的轻量云服务器好像和vultr的云服务器性能不一样,同样都是2核4G的配置,承载能力要弱很多,动不动mysql服务就宕了。在vultr的云服务器中一次也没有出现过宕机。(相同配置,相同的环境,同一个网站服务)

mysql服务停止无非是内存或cpu跑满了,看了腾讯云后台的服务器监控图表

宕机前cpu使用率达到了100%

内存利用率

宕机前内存的使用率达到了100%

解决方法:

增加swap虚拟内存

先设置服务器swap虚拟内存,增加服务器稳定性,建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值。 我是直接设置的和我的真实内存一样大小。注意swap文件默认保存在/www/swap,设置前请确保磁盘空间够用。ssd的硬盘效果更佳!

开启memcached缓存器

然后再设置启用Memcached缓存器 ,Memcached 是一个高性能的分布式内存对象缓存系统。要想使用Memcached 需要先安装Memcached 并且还要Memcached 的php扩展。

详细安装教程请看这个:Linux Memcached 安装 | 菜鸟教程 (runoob.com)

我服务器使用的是宝塔面板,安装就更简单了,只需要打开php设置里面的“安装扩展” 就可以安装Memcached 的php扩展了,他还会自带帮你把Memcached 服务安装完毕。无需任何额外操作!

建议把 opcache 这个扩展也安装上,配合使用效果更佳!

然后还需要在wordpress网站的  wp-content 目录放入一个object-cache.php 文件才可以。object-cache.php 建议使用下面的这个开源程序:

wordpress-pecl-memcached-object-cache: https://github.com/tollmanz/wordpress-pecl-memcached-object-cache

下载上门github项目中的代码,将其中的 object-cache.php 文件上传到网站的 wp-content 目录下,即可完成安装。目前不需要额外设置。

测试WordPress缓存设置是否正常:

<?php
$key   = 'zpl';
$value = 'zhuangpenglong.com';

$dummy_value = wp_cache_get( $key );

if ( $value !== $dummy_value ) {
	echo "没有找到缓存。现在添加这个缓存项。";
	wp_cache_set( $key, $value );
} else {
	echo "得到缓存结果: " . $dummy_value . "。 这证明 WordPress Memcached 正在工作";
}

把上面这些代码,添加到你现在正在使用的主题目录中的 function.php 文件中,然后重新加载 WordPress 网站两次。在第二次加载时,您应该会看到下面的一串字符出现在网站顶部

得到缓存结果: zhuangpenglong.com。 这证明 WordPress Memcached 正在工作

庄朋龙
庄朋龙

一个爱生活的技术菜鸟

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注