做毕业设计时对wordpress几个缓存插件进行了性能分析。费了老大劲测得的数据仅仅扔在毕业论文里实在可惜。精简一下,与大家共享。
测试环境:virtualbox中全新安装的Ubuntu 9.04 Server,标准LAMP环境。
测试工具:httperf、top
测试方案:无缓存、WP Super Cache半开、WP Super Cache全开、cos-html-cache共四种状态。在每种状态下分别对首页和id为148的文章页面进行测试。
每次测试前在服务器端使用命令
top -bSn 1 >Xt0.txt
将各个进程的CPU使用情况记录到一个txt文件中。
为什么不使用ps:虽然查看进程信息的“标准”命令是ps,但在linux下ps输出的CPU时间仅精确到秒,而top可以精确到0.1秒。top使用参数b时使用批量模式,将系统中所有进程的情况遍历输出参数n指定的遍数后退出。
然后在客户端使用httperf对指定页面进行50次顺序访问,所有测试结果以这50次的平均值为准。对id为148的页面httperf命令如下
httperf --hog --server 192.168.1.104 --uri /wordpress/archives/148.html --num-conn 50 --timeout 60
httperf测试完成后,马上在服务器端使用top命令记录测试后各进程CPU时间。测试期间服务器没有其他负载,所以可以认为apache2、mysqld的CPU使用完全是由wordpress引发的。
数据处理部分就不说了,无非就是加减乘除。直接上性能对比图!
响应速率
apcahe CPU占用对比
mysql CPU对比
不得不说,wordpress在效率上确实不怎么样,随便一缓存性能就有十几倍的提升。
至于WP-Super Cache、cos-html-cache的优缺点已经有很多讨论了,在此不再重复。
但有一点要强调的是,本测试是基于对同一篇文章连续访问的情况下测得的。在这种情况下缓存是100%命中的,而事实上WP-Super Cache缓存有效时间只有十分钟,在缓存失效的情况下访问一下页面,由于要重建缓存,响应速度反而会比没有缓存慢一些。不过由于wordpress本身的速度,慢的这点应该是不明显的。
转载请注明:爱开源 » wordpress缓存插件性能测试与分析