首页 » VPS 知识 » 浏览内容

linux下启用WordPress的memcached支持


2011-12-06 12:56:47 4,105 0 发表评论 字体: 作者:C.K.
标签: linuxmemcachedVPSWordPress

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

爱写字的服务器优化中,memcached扮演了重要的角色,爱写字过去约8天的运行记录显示,memcached的引入,让爱写字的mysql服务器负载降低了约93%(没错,你没有看错,是降低了93%)。下面的文章完整的介绍了在Linux服务器下,为WordPress安装、配置、监控memcached。

Memcached介绍 []

Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。Memcached是一个高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
目录

  1. Memcached介绍
    1. Memcached能缓存什么?
    2. Memcached速度有多快?
    3. Memcached的特点
  2. 安装memcached
    1. 安装libevent
    2. 安装memcached
    3. 让memcached开机自动启动
  3. 配置php的memcached扩展
    1. 安装memcached的监控程序
  4. 在WordPress中启用memcached
    1. 下载WordPress的memcached支持文件
    2. 修改WordPress配置
    3. 检验是否设置成功
  5. 推荐阅读
    1. 随机日志

Memcached能缓存什么? []

通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

Memcached速度有多快? []

非 常快。Memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对 内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表, 因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。

关于linux下libevent的epoll的benchmark相关信息,您可以看libevent官方网站提供的这张图 这张图

Memcached的特点 []

  1. 分布式
  2. 协议简单
  3. 基于libevent的事件处理
  4. 内置内存存储方式
  5. memcached不互相通信的分布式

安装memcached []

我们采用从源代码编译的方式安装memcached和memcached的依赖包 libevent。

安装libevent []

使用下面的命令下载并将memcached所需要的依赖包 libevent安装到 /usr/local 下。

到这里查看最新 http://libevent.org/

wget http://monkey.org/~provos/libevent-1.4.11-stable.tar.gz
  • tar xzf libevent-1.4.11-stable.tar.gz
  • cd libevent-1.4.11-stable
  • ./configure
  • make
  • sudo make install
  • #刷新库文件连接
  • ldconfig
  • 安装memcached []

    使用下面的命令将memcached安装到 /usr/local 目录下

    到这里查看最新 http://code.google.com/p/memcached/downloads/list

    wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz
  • tar xzf memcached-1.2.8.tar.gz
  • cd memcached-1.2.8
  • ./configure --enable-threads
  • make
  • sudo make install
  • #增加用户组memcached和用户memcached
  • /usr/sbin/groupadd memcached
  • /usr/sbin/useradd -g memcached memcached
  • #建立memcache 锁文件存放目录
  • mkdir /var/lock/subsys
  • chmod 777 /var/lock/subsys
  • 让memcached开机自动启动 []

    在这里下载爱写字所用的memcached启动文件,重命名为memcached,并放入 /etc/init.d 目录。如果您使用的是debian的base system,请下载本function文件,解压缩后放入/etc/init.d目录。使用命令

    chmod +x /etc/init.d/memcached /etc/init.d/functions

    将下载的文件设置为可执行,按照需要修改memcached文件中的以下配置。如果你不清楚下面的各设置的作用,请勿修改,特别是PORT设置。

    #memcached的运行端口
  • PORT="11211"
  • #运行用户
  • USER="memcached"
  • #最大连接数
  • MAXCONN="2048"
  • #Cache大小,64表示设置为64M
  • CACHESIZE="64"
  • #其他设置,没有就留空
  • OPTIONS=""
  • 保存后使用下面的命令将memcache注册为系统服务并查看 memcached 服务的自动运行情况,应该在运行级别2,3,4和5下,memcached都是会自动运行的。

    chkconfig -add memcached

    配置完成后,使用下面的命令启动memcached并检测其状态

    #启动memcached
  • /etc/init.d/memcached start
  • #连接到memcached缓存服务器
  • telnet localhost 11211
  • #查看当前缓存服务器状态
  • stat
  • 正确配置情况下,输入stat命令后,显示的输出类似下面

    memcached正确安装下stats命令的输出

    配置php的memcached扩展 []

    我们可以在安装php后,方便的使用pecl来安装php的memcached扩展。

    使用下面的命令安装 php的 memcached 扩展

    pecl install memcached

    安装完成后,查看memcache.so文件被安装到了什么地方,在爱写字安装时,被安装到了

    /usr/local/lib/php/extensions/no-debug-non-zts-20060613

    确认memcache.so文件所在目录是在php.ini中所指定的extension_dir目录,如果不是,请copy其到相应目录。然后修改php.ini文件,在Dynamic Extensions配置那一段增加下面的配置

    extension = memcache.so

    完成上述配置后,重新载入php.ini中的配置,调用 phpinfo() 函数查看php是否正确载入了memcache模块,正确安装下,phpinfo()的输出中应该出现下面的信息。

    memcached正确安装下phpinfo函数的输出

    安装memcached的监控程序 []

    Harun Yayli 仿照APC的状态监控程序,做了一个监控memcached运行情况的小工具,可以在web方式下,监控memcached当前的缓存区使用,缓存命中率,并可在线查看缓存数据。您可以下载用于memcached状态监控的php程序,按照您的需要修改以下配置,请将其重命名为memcached.php,放入能够通过web访问的目录,对memcached的运行状态进行监控。

    // 访问监控程序的用户名
  • define('ADMIN_USERNAME','admin');
  • // 访问监控程序的密码
  • define('ADMIN_PASSWORD','admin');
  • // 显示的时间格式
  • define('DATE_FORMAT','Y/m/d H:i:s');
  • //展示缓存状态时生成的饼图的大小
  • define('GRAPH_SIZE',200);
  • //在查看item列表时,最多显示的item数目
  • define('MAX_ITEM_DUMP',50);
  • // 将希望监控的更多memcached服务器添加为数组元素
  • $MEMCACHE_SERVERS[] = '127.0.0.1:11211';
  • 在WordPress中启用memcached []

    WordPress对memcached及类似的对象缓存系统的支持是很强大的,只需要实现相关缓存操作方法,定义相关的缓存初始化及增删改查、关闭等操作,WordPress即可自动将相关缓存系统引入进来,详细信息可以参考Function Reference/WP Cache(英文)。以下描述了启用WordPress的memcached支持的步骤。

    下载WordPress的memcached支持文件 []

    在这里下载 WordPress的memcache支持所需要的object_cache.php文件,下载解压缩后将其放入WordPress安装的 wp-content 目录下。

    修改WordPress配置 []

    修改 wp-config.php文件,加入下面的配置

    $memcached_servers =  array(‘default’ => array(‘127.0.0.1:11211’));

    检验是否设置成功 []

    上述设置完成后,请重新启动web服务器或重新载入web服务器配置,然后访问memcached监控页面,查看你访问WordPress后,相关数据是否被memcached缓存成功。

    1 2

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今4947 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2017-7-1 18:16:33
      • 您是本站第 13718334 位访客

      广告区 Guǎng Gào