WP Super Cache 搭配 Memcached 優化 WordPress

這次接的案子,使用 WordPress 架設,但是掛上的那套系統實在是有點肥,loading頗重的。

不過這跟我 Server 使用 Nginx + PHP-FPM 的輕量架構也有關系,在PHP不需大量運算時其實效能不會輸 Apache2 ,但碰到運算大的服務後缺點就浮出來了。

網站瀏覽慢、反應過久最後導致錯誤

調整Server前先把網站優化一番,先是安裝 WP Super Cache 這款老牌外掛,然後啟用PHP 快取模式,進階功能下方有個

使用 object 快取來儲存快取檔案。 (實驗選項) 存取非快取頁面 (這翻譯…)

的選項,這就是開啟WP Super CacheMemcached 結合的大門阿~

Memcached 的安裝是 Server那邊的,我直接偷懶用網友提供的安裝腳本裝上(順便也裝了PHP加速器 eAccelerator ),但是要讓WP啟用這功能,還必須在WP上再安裝一個特殊外掛 Memcached Object Cache

下載這個外掛後要做的事不是”啟用”,是去複製 object-cache.php 這個檔案到 wp-content 內,WP會自動啟用

要注意的是: 順序 、 WP的資料庫設定 與 安全性

順序是

  1. 先安裝 Server 的 Memcached 支援
  2. WP 安裝Memcached Object Cache外掛
  3. WP 安裝WP Super Cache外掛

WP資料庫設定是

因為Memcached快取的機制在WP中是使用資料表前綴(預設 wp_ ),所以如果一台Server上有多個WP要這麼優化的話要注意前綴必須不同才不會有資料互相衝突的問題

安全性是

Memcached的Server沒什麼安全性,所以這服務要記得是在防火牆內使用~

這樣一組設定好後帶來兩個優化,一是頁面快取後增加訪問時的瀏覽讀取速度,二是利用 Memcached 將PHP與MYSQL請求的次數降低,效果滿明顯的!

目前的資料擊中率截圖如下 90%

get_hits / cmd_get = 0.90..

PS: 查看指令為 telnet 127.0.0.1 11211 ENTER後輸入 stats

Facebook 外掛整合


Share:

  • 要不要試試看HHVM,超快的

  • 有試過varnish嗎?

    • 有,還真的不錯! 不過考量到主機運用我就沒用在實戰了

      • 為何說考慮到主機運用就不用呢?
        你現在主機是用Digitalocean嗎?
        覺得速度挺快的

        • 主機上都是放客戶的站,為了達到用途均衡,就得拋棄有太多限制不夠彈性容易有相容性問題的架構囉~
          我主機有用DO也有用LINODE

  • 使用 object 快取來儲存快取檔案。 (實驗選項) 存取非快取頁面 (這翻譯…)

    這個好像找不到

    • 有可能被翻譯團隊解決了,因為當時語系是中文所以這翻譯就跑出來,不是這麼好理解

      • 所以現在是指哪一段呢

        • 目前這段似乎被改版拿掉了,沒看到囉!