2009-07-01 19:37:34| 分类: WordPress WPMU | 标签: |举报 |字号大中小 订阅
在爱写字的服务器优化中,memcached扮演了重要的角色,爱写字过去约8天的运行记录显示,memcached的引入,让爱写字的mysql服务器负载降低了约93%(没错,你没有看错,是降低了93%)。下面的文章完整的介绍了在Linux服务器下,为WordPress安装、配置、监控memcached。
Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。Memcached是一个高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。 非 常快。Memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,对 内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表, 因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。 关于linux下libevent的epoll的benchmark相关信息,您可以看libevent官方网站提供的这张图和这张图。 我们采用从源代码编译的方式安装memcached和memcached的依赖包 libevent。 使用下面的命令下载并将memcached所需要的依赖包 libevent安装到 /usr/local 下。 使用下面的命令将memcached安装到 /usr/local 目录下 在这里下载爱写字所用的memcached启动文件,重命名为memcached,并放入 /etc/init.d 目录。如果您使用的是debian的base system,请下载本function文件,解压缩后放入/etc/init.d目录。使用命令 将下载的文件设置为可执行,按照需要修改memcached文件中的以下配置。如果你不清楚下面的各设置的作用,请勿修改,特别是PORT设置。 保存后使用下面的命令将memcache注册为系统服务并查看 memcached 服务的自动运行情况,应该在运行级别2,3,4和5下,memcached都是会自动运行的。 配置完成后,使用下面的命令启动memcached并检测其状态 正确配置情况下,输入stat命令后,显示的输出类似下面 我们可以在安装php后,方便的使用pecl来安装php的memcached扩展。 使用下面的命令安装 php的 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能缓存什么? []
Memcached速度有多快? []
Memcached的特点 []
memcached []
[]
memcached []
.memcached开机自动启动 []
memcached扩展 []
Harun Yayli 仿照APC的状态监控程序,做了一个监控memcached运行情况的小工具,可以在web方式下,监控memcached当前的缓存区使用,缓存命中率,并可在线查看缓存数据。您可以下载用于memcached状态监控的php程序,按照您的需要修改以下配置,请将其重命名为memcached.php,放入能够通过web访问的目录,对memcached的运行状态进行监控。
WordPress对memcached及类似的对象缓存系统的支持是很强大的,只需要实现相关缓存操作方法,定义相关的缓存初始化及增删改查、关闭等操作,WordPress即可自动将相关缓存系统引入进来,详细信息可以参考Function Reference/WP Cache(英文)。以下描述了启用WordPress的memcached支持的步骤。
在这里下载WordPress的memcache支持所需要的object_cache.php文件,下载解压缩后将其放入WordPress安装的 wp-content 目录下。
修改 wp-config.php文件,加入下面的配置
$memcached_servers = array(’default’ => array(’127.0.0.1:11211′));
上述设置完成后,请重新启动web服务器或重新载入web服务器配置,然后访问memcached监控页面,查看你访问WordPress后,相关数据是否被memcached缓存成功。
评论