基于百度云缓存的Batcache的一个性能对比测试

之前我写了两篇文章,分别介绍百度云缓存作为对象缓存全页缓存的作用。前几天偶然发现Gimhoy大神也移植了Memcached缓存插件,自惭形愧,赶紧下载使用。搭配Batcache后,虽然整体页面感觉非常快,但是总希望有一定的数据支撑自己的设置。今天我用load.io的网站压力测试,比较了使用batcache全页缓存前后网站的性能状况。以下是结果。

测试设置:

虚拟用户:200,逐渐增加时间:300秒

  1. 使用缓存前

without batcache

可以看到,网站的响应时间最少是2.5秒,并且随着虚拟用户数量的增加而增加。大概在100虚拟用户的时候,响应时间突破3秒,并加速增加,基本同虚拟用户数量的增加速度一致。整个测试平均的响应时间是3892毫秒。

从throughput的角度看,300秒的时间内,一共完成了4809次页面访问,输出流量247.84MB。

从页面错误看,可以看到BAE平台还是比较稳定的,即使有200个用户同时快速访问,只出现了一次访问超时错误。

  1. 使用缓存后

with batcache

可以看到,网站的响应时间竟然完全不随虚拟用户的数量增加而增加,保持在1.2秒左右,并且没有太大的起伏。而整个测试平均的响应时间为1152毫秒,仅为未使用缓存的29.6%。可以看出,缓存大大减少了响应时间,且增加了网站的容量。

从throughput的角度看,300秒的时间内,一共完成了25590次页面访问,是之前的5.3倍,而输出流量为1.20GB,为之前的5倍。可以看到,使用缓存后,网站单位时间内能处理的请求数大大增加。

从页面错误看,可以看到,因为虚拟用户增加并没有导致网站的整体负载增加,所以即使200用户同时快速访问,仍没有任何错误出现。

总结:不管从响应时间、网站容量还是错误率看,开启batcache对基于BAE的wordpress性能有着巨大提升。

31 comments

  1. 不知道Batcache这个插件对评论有没有影响,比如评论之后过一段时间才能显示

      1. 似乎还好,评论之后刷新出来的页面不是缓存的页面。。话说你的网站用了什么压缩源码的插件?

        1. 恩 batcache好像可以在提交评论后或者更新日志后自动刷新缓存。压缩没有用插件 只是往functions.php中加了一些代码 不记得源头在哪里了 如果需要可以共享出来

            1. 唉,血泪史啊。。我本来域名是alexyang.me的,但是我邮箱也想用这个域名,然后MX和CNAME冲突,有些邮件收不到,就只好转成www开头了。然后如果DNS里面设置URL转发,也会和MX冲突。。。所以我不知道怎么做。。。

              1. 转发也会冲突?我只知道MX会冲突啊。。还有一个办法就是直接解析到ip,然后再跳转。BAE能不能直接解析到IP不是很清楚,SAE是可以的

                1. 我试试吧。。。唉~我问了dnspod客服,他们说URL和CNAME也冲突。。要是什么时候网站访问不了了。。那就是解析失败了。。。汗

                    1. 刚设置了A记录,目前看来还行,得密切观察。URL转发记录我专门针对谷歌和百度设置了,不知道有没有用。发现DNS设置真是一个技术活。。。

                    2. 我发现BAE设置A记录不稳定 昨天突然出现数据库授权错误 恢复了www的cname解析才行 不过@仍然用A记录

  2. 这果然是技术文章,小白表示学习了·~~另,请教:你这是怎么测试的?

      1. 世界就是个圈儿啊~~我用了这插件并开启了云缓存,但是没有明显效果,待会儿我用jiasule看看

                    1. 人活着,都有寿命,做好备份就行了被,收费了,合适就继续,不合适就在换

        1. 你是不是登录的时候试的?可以用隐身模式再看看 另外缓存只针对html 如果js和图片较多 的确缓存效果不会太明显,建议参照pagespeed insight的测试来逐个优化

    1. 我现在已经不用BAE啦,不过batcache应该是会缓存评论的。如果是第三方的(比如多说)则不受影响。

Comments are closed.