V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wy315700
V2EX  ›  WordPress

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

  •  
  •   wy315700 · 2014-07-12 00:01:11 +08:00 · 4020 次点击
    这是一个创建于 3783 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天看了 @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。

    求高手指教。
    11 条回复    2014-07-12 23:12:55 +08:00
    yangqi
        1
    yangqi  
       2014-07-12 00:11:10 +08:00
    不是高手,不过下面这篇文章应该能解释

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

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

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

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

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

    其实也很简单, 用wp本身的objcache功能把所有的object存到memcache里, batcache的功能是把 [未登录] 用户访问的内容转换成纯静态内容来实现大幅降低负载的.
    yangqi
        6
    yangqi  
       2014-07-12 02:28:12 +08:00
    @cst4you 默认的配置就是最基本的cache, 其他什么也没启用,效果不大的。你说的objcache和batcache都能实现,还有很多别的优化。
    yangqi
        7
    yangqi  
       2014-07-12 02:36:00 +08:00
    @cst4you 另外memcache也不是最佳方案,如果只有一台服务器,不如用apc,或者shm
    cst4you
        8
    cst4you  
       2014-07-12 02:44:52 +08:00
    @yangqi /抠鼻
    我不知道你那边环境是怎么样的, 我这边是顶下来了. 原先最大压力的 mysql 变成了 php, 接下来就是 CPU 的干活了.
    xLzgkddTywk9ALsX
        9
    xLzgkddTywk9ALsX  
       2014-07-12 22:35:20 +08:00
    全部memcached,没有你说的问题哦.我也是W3TC,@cst4you, batcache貌似不会更新后就刷新缓存?
    wy315700
        10
    wy315700  
    OP
       2014-07-12 22:44:53 +08:00
    @buobuk 你试试在VPS端用 ab 看看吞吐率
    cst4you
        11
    cst4you  
       2014-07-12 23:12:55 +08:00
    @buobuk 本来就不会啊, 所以只能是在极大流量下用, 不适合太即时的wp站点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3184 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 13:34 · PVG 21:34 · LAX 05:34 · JFK 08:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.