最新消息:用博客记录点滴生活。与您共同关注互联网,分享互联网。

LNMP 开启 Memcached 内存缓存加速网站

Memcached 是一个高性能的分布式内存对象缓存系统。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

最近倡萌也给自己的阿里云服务器安装了 Memcached,效果似乎还不错哦。

测试环境:阿里云 CentOS 5.4 32位,军哥的 LNMP一键安装包配置的环境 1.0。

安装 Memcached

lnmp1.0 :进入lnmp解压后的目录,执行:./memcached.sh (这是军哥lnmp内置的安装脚本,其他自己配置的环境,以后再也文章,暂时自己google安装方法吧), 回车确认后就会自动安装memcache php扩展和memcached。

脚本完成后,查看PHPINFO信息是否是memcache,如果有就是安装成功。

WordPress 开启 Memcached 缓存

下载 WordPress Memcached 插件,解压后,将 object-cache.php 上传到 wp-content 目录(不是 wp-content/plugins/),这样 WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。

注意:如果上传object-cache.php后WordPress前后台都出现空白的情况那就是Memcached没有安装/配置成功,这时删除object-cache.php并检查Memcached!。

为你的 WordPress 站点开启了 memcached 缓存以后,就没必要安装 DB Cache Reloaded Fix 这类数据库缓存插件了。

查看 Memcached 缓存情况

我们需要使用 telnet 命令查看,首先检测一下是否已安装 telnet 包

rpm -qa |grep telnet

如果安装了,会返回相关版本信息,如果没有,就是没有安装。

telnet-0.17-41.el5
telnet-server-0.17-41.el5

如果没有安装,运行下面的命令,注意在root下执行

yum install xinetd
yum install telnet-server

特别说明:telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。
然后telnet进入Memcached。

telnet 127.0.0.1 11211

如果链接成功,会返回:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

然后输入:

stats

回车,就可以看到 Memcached 的缓存情况,这里就只需要了解几个重要参数就行了。

STAT pid 20439  —— Memcached 进程的ID
STAT uptime 179982 —— 进程运行时间
STAT time 1382361665 ——当前时间
STAT version 1.4.15 —— Memcached 版本
STAT libevent 1.4.13-stable
STAT pointer_size 32
STAT rusage_user 21.916668 
STAT rusage_system 40.576831
STAT curr_connections 11
STAT total_connections 329
STAT connection_structures 23
STAT reserved_fds 20
STAT cmd_get 2363348 —— 总共获取数据的次数(等于 get_hits + get_misses )
STAT cmd_set 279971 —— 总共设置数据的次数
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 2286284 —— 命中了多少次数据,也就是从 Memcached 缓存中成功获取数据的次数
STAT get_misses 77064 —— 没有命中的次数
STAT delete_misses 30803
STAT delete_hits 48876
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 574591015
STAT bytes_written 4353057466
STAT limit_maxbytes 67108864 —— 总的存储大小,默认为 64M
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 262144
STAT hash_is_expanding 0
STAT bytes 4717345 —— 当前所用存储大小
STAT curr_items 5654
STAT total_items 58461
STAT expired_unfetched 17
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 49
END

以上数据的命中率:2286284/2363348 = 96.7% 说明当前命中率是比较高的。

如果你要清空现有数据,可以使用下面的命令:

stats reset

要退出 telnet,可以使用下面的命令:

quit

正文部分到此结束

声明:本文采用 BY-NC-SA 协议进行授权,转载还请注明:http://www.777s.me/lnmp-memcached.html - 777's Blog