本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
這次接的案子,使用 WordPress 架設,但是掛上的那套系統實在是有點肥,loading頗重的。
不過這跟我 Server 使用 Nginx + PHP-FPM 的輕量架構也有關系,在PHP不需大量運算時其實效能不會輸 Apache2 ,但碰到運算大的服務後缺點就浮出來了。
網站瀏覽慢、反應過久最後導致錯誤
調整Server前先把網站優化一番,先是安裝 WP Super Cache 這款老牌外掛,然後啟用PHP 快取模式,進階功能下方有個
使用 object 快取來儲存快取檔案。 (實驗選項) 存取非快取頁面 (這翻譯...)
的選項,這就是開啟WP Super Cache 與 Memcached 結合的大門阿~
Memcached 的安裝是 Server那邊的,我直接偷懶用網友提供的安裝腳本裝上(順便也裝了PHP加速器 eAccelerator ),但是要讓WP啟用這功能,還必須在WP上再安裝一個特殊外掛 Memcached Object Cache
下載這個外掛後要做的事不是"啟用",是去複製 object-cache.php
這個檔案到 wp-content
內,WP會自動啟用
要注意的是: 順序 、 WP的資料庫設定 與 安全性
順序是
- 先安裝 Server 的 Memcached 支援
- WP 安裝Memcached Object Cache外掛
- 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
要不要試試看HHVM,超快的
有試過varnish嗎?
有,還真的不錯! 不過考量到主機運用我就沒用在實戰了
為何說考慮到主機運用就不用呢?
你現在主機是用Digitalocean嗎?
覺得速度挺快的
主機上都是放客戶的站,為了達到用途均衡,就得拋棄有太多限制不夠彈性容易有相容性問題的架構囉~
我主機有用DO也有用LINODE
使用 object 快取來儲存快取檔案。 (實驗選項) 存取非快取頁面 (這翻譯…)
這個好像找不到
有可能被翻譯團隊解決了,因為當時語系是中文所以這翻譯就跑出來,不是這麼好理解
所以現在是指哪一段呢
目前這段似乎被改版拿掉了,沒看到囉!