W3 total Cache 的 Page Cache 与 Memcached 兼容性问题

2014-07-12 00:01:11 +08:00
 wy315700
今天看了 @yangqi 发的关于WP Super Cache和 W3 total Cache的性能比较的评测,
http://www.dashboardjunkie.com/test-of-wp-caching-plugins-w3-total-cache-vs-wp-super-cache-vs-quick-cache
然后我也去试了一下,发现W3 total Cache的性能不是很理想,打开一个页面要300ms,然后我就一直在想,到底是哪里出问题了,是不是我的打开方式不对。

然后我注意到我的缓存是放在memcached里的,因为直接把database 缓存到文件里会有泄露的问题,见http://www.freebuf.com/vuls/6612.html

然后我把Page Cache改成disk enhance,问题就解决了,一个页面只需要20ms,

然后我就不明白了,这里面难道有兼容性问题。

现在我用的是Page Cache放到disk,然后其余的cache还是放到memcached。

求高手指教。
4023 次点击
所在节点    WordPress
11 条回复
yangqi
2014-07-12 00:11:10 +08:00
不是高手,不过下面这篇文章应该能解释

http://surniaulula.com/2012/12/04/memcached-vs-disk-cache/
wy315700
2014-07-12 00:32:54 +08:00
@yangqi 原来如此,不过看文章里的解释APC要比disk cache快,但是测下来还是disk cache块
cst4you
2014-07-12 01:47:46 +08:00
高并发下, 这俩是用了比不用还慢, 因为钩子太多.
参考wp memcache objcache, 和 batcache 插件吧.

http://blog.wpjam.com/m/wordpress-memcached/
http://blog.wpjam.com/m/batcache/

这两个结合, 1G内存的VPS轻松顶住百万PV.
yangqi
2014-07-12 02:10:21 +08:00
@cst4you w3tc支持多种方式的,memcache, apc, object cache, query cache, minify等。

评测文章里面也说了,w3tc比其他的快是因为直接通过rewrite读取缓存文件,不像其他的插件还要通过wp的一堆钩子找到缓存。
cst4you
2014-07-12 02:18:19 +08:00
@yangqi 前面你说的那俩, 我在生产环境都试过, 一启用插件直接负载上30..服务器像死了一样, 不启用插件也只有换位数.

结合了 memcache objcache 和 batcache 之后, 加上mysql一些参数调优, 高峰期(15分钟同时在线2000+)的情况下. 负载不过3.

其实也很简单, 用wp本身的objcache功能把所有的object存到memcache里, batcache的功能是把 [未登录] 用户访问的内容转换成纯静态内容来实现大幅降低负载的.
yangqi
2014-07-12 02:28:12 +08:00
@cst4you 默认的配置就是最基本的cache, 其他什么也没启用,效果不大的。你说的objcache和batcache都能实现,还有很多别的优化。
yangqi
2014-07-12 02:36:00 +08:00
@cst4you 另外memcache也不是最佳方案,如果只有一台服务器,不如用apc,或者shm
cst4you
2014-07-12 02:44:52 +08:00
@yangqi /抠鼻
我不知道你那边环境是怎么样的, 我这边是顶下来了. 原先最大压力的 mysql 变成了 php, 接下来就是 CPU 的干活了.
xLzgkddTywk9ALsX
2014-07-12 22:35:20 +08:00
全部memcached,没有你说的问题哦.我也是W3TC,@cst4you, batcache貌似不会更新后就刷新缓存?
wy315700
2014-07-12 22:44:53 +08:00
@buobuk 你试试在VPS端用 ab 看看吞吐率
cst4you
2014-07-12 23:12:55 +08:00
@buobuk 本来就不会啊, 所以只能是在极大流量下用, 不适合太即时的wp站点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122240

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX