随着访问量的增加,如何保证基于WordPress的网站具有良好的响应速度成为很多WPer无法避免的问题。不管网站的目的是什么,保持其在线并拥有良好的响应速度绝对是第一位重要的事情。当浏览者访问网页,它应该能够迅速加载并作出响应。用于提高WordPress网站响应速度的插件有很多。每个插件处理缓存的方式都有些不同,使用时应该根据不同的情况区别对待。
对于大多数网站来说,页面缓存能够提供较为满意的性能提升。一旦你的网站开始接收留言,或者用户登录,很多缓存方案将面临缓存页面过多或者不足的问题。虽然有很多解决方案,但是很显然,随着浏览量的增加,WordPress的性能将会下降。
下面列举了一些WordPress缓存插件用于测试比较其性能:
- DB Cache(该插件已废弃) (version 0.6)
- DB Cache Reloaded (version 2.0.2)
- W3 Total Cache (version 0.8.5.1)
- WP Cache(该插件已废弃) (version 2.1.2)
- WP Super Cache (version 0.9.9)
- WP Widget Cache (version 0.25.2)
- WP File Cache(version 1.2.5)
- WP Varnish (测试版)
- WP Varnish ESI Widget (测试版)
测试内容¶
- 首页访问情况
- 一系列页面的http加载情况
进行这两方面的测试时,每次测试都将每个插件的缓存清空,并且重起Apache2和MySQL服务。在开始测试前等待30s。测试首页访问情况时,使用10个并行连接进行1000次访问测试。然后在Apache2和缓存插件有时间缓存该页面之后重复该测试。最后,使用http_load请求30个页面地址来模拟访问者访问这些页面的情形。在这两种测试情况下,我们应该有一个比较好的数据来反映网站的真实性能。
测试环境¶
- Debian 3.1/Squeeze VPS
- Linux Kernel 2.6.33
- 单核心 Xen Virtualized Xeon X3220 (2.40ghz)
- 2gb 内存
- 由4x1tb 7200RPM硬盘组成的Raid-10存储系统
- Apache 2.2.14 mpm-prefork
- PHP 5.3.1
- WordPress主题测试数据(该链接已失效)
- 由一台通过1000 Base T 连接在同一路由器并在 /24 下的VPS服务器上的四核心Xeon机器发出连接请求
该配置是为了重现大多数人可能选择来作为WordPress站点服务器的合理配置。
测试结论¶
如果你没有使用Varnish作为网站的优化插件,使用页面缓存——磁盘增强,Minify缓存——APC(Alternative PHP Cache),数据库缓存——APC(Alternative PHP Cache)的W3 Total Cache插件无疑是最好的。
如果你能使用Varnish,WP Varnish将是在交互环境下最简单的性能提升工具,当然性能提升也比较有限。在发布文章的同时,WP Varnish就开始处理缓存,使得网站拥有更好的动态性能,从而不需要花费很长时间来等待页面更新。
W3 Total Cache有很多选项,有时候设置不好可能会影响网站性能。如果你不能使用APC缓存,或者用于缓存数据库查询的Memcache,或者是Minify,应该将它们都关掉。W3 Total Cache的设置界面是相当复杂的,不过插件作者表示将会在新版本中改进以提供一个新的“设置向导”来帮助用户进行设置,同时提供碎片缓存功能。
WP Super Cache的性能并不比上述两个差多少,所以是一个很好的替代品。而且在0.9.9.3版中,作者提供了全新的Preload模式,对于减小网站因为响应速度而在搜索引擎中的排名降低应该很有帮助。
不管怎么说,如果你希望自己的网站能够生存的好些,就应该使用缓存插件来提高其响应速度,以减少服务器负担。从每秒2.5个请求到每秒800+个请求,对访问者来说网站的可用性的差别就非常大了。登录用户和搜索引擎爬虫访问的仍然是非缓存/即时页面结果,所以,你不需要担心你的网站会因为使用缓存插件而不能被很好的收录。
测试结果数据和测试所用代码请访问原文:WordPress Cache Plugin Benchmarks¶
本文发表于水景一页。永久链接:<http://cnzhx.net/blog/wordpress-cache-plugins-contrast/>。转载请保留此信息及相应链接。
引用通告: 增加WordPress热门文章插件 « 水景一页
引用通告: WP Super Cache 与 WordPress 首页乱码 « 水景一页
各有各的优点。
你很实在。
引用通告: 理解和使用服务器的压缩传输功能 « 水景一页
引用通告: Linode VPS 上 CentOS 6 安装 LAMP + phpMyAdmin 记录 | 水景一页
WP Varnish 这个还试过,等会试试看。
这个没用过啊。