最近發現 WordPress 公園開啟速度有點慢,WordPress 公園託管於 Linode 東京機房,按理說應該不會慢太多,遂動了最佳化的念頭。
WordPress 最佳化實踐的依據是我愛水煮魚的一篇 WordPress 最佳化文章:為什麼我的部落格比你快。
最佳化 MySQL Query Cache
MySQL 設定 MySQL Query Cache,可以儲儲存存查詢結果,同樣的查詢不再從資料庫檢索,對速度有很大的提升。
登陸伺服器:
Mysql -uroot -p
SET GLOBAL query_cache_size = 16777216;
SHOW VARIABLES LIKE 'query_cache_size';
輸出:
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| query_cache_size | 16777216 |
+------------------+----------+
vim /etc/my.cnf
新增如下程式碼,然後重啟 mysql
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576
經過以上設定之後,使用 querycachelimit 變數,每個查詢結果的最大值可以為 1048576,單位是 KB
php 開啟 Opcache
進入 lnmp 解壓目錄,有一個 opcache.sh 執行./opcache.sh 即可。
//opcache 與 zendguardloader 衝突,開啟後會出現 502 錯誤,建議不要開啟。
安裝 memcached 和 php memcached 擴充套件
進入 lnmp 解壓目錄,有一個 memcached.sh 執行./memcached.sh 即可。
WordPress 啟用 memcached 快取
- 下載 WordPress memcached 外掛
- 根據不同的 PHP 擴充套件下載不同的 WordPress Memcached 外掛 (這個很重要):
PHP Memcache 擴充套件:http://WordPress.org/extend/plugins/memcached/
PHP Memcached 擴充套件:https://WordPress.org/plugins/memcached-is-your-friend/ - memcached 是把 object-cache.php 檔案複製到 wp-content 目錄下即可。 memcached is your friend 的啟用和普通外掛一樣。
WordPress 啟用 batcache 外掛
Batcache 使用 Memcached 來快取頁面,WordPress 在使用 Memcached 來快取物件時有個小小的弊端就是每次訪問 WordPress 頁面,都要從記憶體中獲取多個快取物件。其實我們可以合併這些物件,而 Batcache 主要就是解決這個問題,它是基於 Memcached 的 WordPress 快取外掛,它的工作原理是:把當前整個頁面作為一個物件快取到記憶體中,這樣再次訪問 WordPress 頁面的時候,直接獲從記憶體中獲取這個物件即可,速度極快。
batcache 外掛也是 WordPress.com 官方使用的加速外掛之一。
batcache 外掛安裝過程
- 在使用 Batcache 外掛之前你必須安裝 WordPress memcache 外掛 (見上文) 。
- 到 WordPress 外掛官網下載 Batcache 外掛
- 上傳 advanced-cache.php 到 /wp-content/ 目錄
- 在 wp-config.php 新增以下程式碼啟用 Batcache:
define('WP_CACHE', true); - 然後嘗試多次載入頁面檢視原始碼,應該在 之前可以看到一些 Batcache 狀態程式碼。 (未登入狀態)
- 可以修改 advanced-cache.php 開始的一些程式碼來調整選項。
- 可選擇上傳 batcache.php(Batcache 管理) 到你的 /wp-content/plugins/ 目錄。