先說背景:wordpress個人**,整體效能挺不錯;但是,由於採用php動態獲取資料,構成頁面的方式,勢必會影響頁面載入速度。對於一些最常用的頁面[例如首頁]等等,完全可以採用生成偽靜態頁面快取的方式載入。針對相同頁面在chrome下做了個載入時間,大小的對比,如下圖針對現有的快取方式調研了一下:本文使用
wp super cache
進行了優化,提公升載入速度200%以上。
優化前資料:23ms感知頁面;3.62s載入完成;頁面大小:419k;請求個數:25個;
優化後資料:106ms感知頁面;1.81s
載入完成;頁面大小13.9k
;請求個數24個;
效果不錯,後文做個詳細分析。
wp super cache 是wordpress的一種快取優化外掛程式,本質是利用快取機制提公升頁面載入速度。
實現原理:php最終在前端展現時需要轉換為html,然後獲取響應的資料;wp super cache 則提前將php檔案轉換為的html偽靜態檔案進行儲存,一旦發生請求,直接返回生成的頁面;減少了資料庫取資料,轉換等過程,來增加載入速度。
優 點:增加了載入速度。
缺 點:增加了儲存成本,而且要不斷的更新,如果使用者量大,個人感覺儲存和離線成本增加會挺多。
注意:安裝wp super cache 需要設定固定連線 如下圖
推薦採用【自定義結果】:
原因在於其他包含字母或者日期不太容易表意,也不利於閱讀和seo等等。
如果最初採用的是http://***/?p=***的方式,需要對伺服器進行相關設定,否則會一直出現404。解決和設定辦法,在另一篇文章中,此處不贅述(wp super cache 安裝和問題解決)。
安裝成功後,後台設定中會出現wp super cache
安裝成功後的簡單個人推薦設定。
配置,更新之後,進入**cache目錄下會出現快取的html檔案和gzip的壓縮檔案(前提是設定了giz壓縮)。
[root@cuixiaohuan cuihuan.net]# pwd
***/wp-content/cache/supercache/cuihuan.net
[root@cuixiaohuan cuihuan.net]# ls -lh
total 52k
-rw-r--r-- 1 apache apache 40k dec 5 11:33 index.html
-rw-r--r-- 1 apache apache 9.5k dec 5 11:33 index.html.gz
優化前資料:23ms感知頁面;3.62s載入完成;頁面大小:419k;請求個數:25個;
優化後資料:106ms感知頁面;1.81s
載入完成;頁面大小13.9k
;請求個數24個;
感知頁面變慢:原因在於,原始php頁面相對較小,傳輸也相對較快,傳輸基本框架之後,才進行頁面dom繪製,js渲染,資料獲取和再次渲染,所以感知時間原始的快。但是對於750ms以下的對於使用者幾乎都是無感知。
載入完成變快:最主要達到的效果,節省最多的時間在於資料庫獲取資料的時間。
頁面大小變小:這塊小的有點出乎意外
,小是應該的,但是小這麼多就有點?了;之後分析了下頁面,可能和文章非同步獲取,儲存的html只獲取了部分頁面的文章,同時,對jquery等等元件肯定是利用快取,不計入資料大小了。
請求數目變化不大。
整體效果:載入快了,頁面小了。
Wordpress效能優化
在模板中 尤其是header.php 存在大量的bloginfo 函式,例如bloginfo url bloginfo stylesheet directory bloginfo title 等,每次呼叫bloginfo 函式都會訪問一次資料庫,最簡單的方法是硬編碼 hard code 就是說用類似...
Docker映象壓縮和優化
在構建docker容器時,應該盡量想辦法獲得體積更小的映象,因為傳輸和部署體積較小的映象速度更快。但run語句總是會建立乙個新層,而且在生成映象之前還需要使用很多中間檔案,在這種情況下,該如何獲得體積更小的映象呢?示例 dockerfile from ubuntu 14.04 add run.sh ...
wordpress優化之靜態化
前幾天有博友向我反映我的部落格訪問速度很慢,這可把我急壞了,訪問速度變慢直接影響訪客的體驗,我自己的體會也是如此,乙個網頁開啟很慢,就直接x掉,再好的內容也不看。所以花了幾個小時優化了一下我的部落格。說優化其實就是靜態化了一下。什麼是靜態化呢?簡單說一下,當我們瀏覽乙個網頁的時候,我們的瀏覽器向 所...