reduce-wordpress-cpu-usage

22個無需升級網頁寄存計劃就能降低WordPress CPU使用率的好方法(上)

怎樣才能減輕WordPress CPU負載而無需升級WordPress共享主機服務器呢?通常,最不想碰到的情況無非就是:遇到影響你Google排名的緩慢伺服器、經常崩潰的專用服務器、由於過度使用,你的網頁寄存公司不發出任何聲明就關閉你的網誌。因此,為了幫助大家解決這些問題,本文列出了22種無需支付昂貴費用以升級伺服器便能減輕WordPress和頻寬負載的好方法。

1. 刪除JPEG和PNG圖像的元數據
刪除名為[上傳]的文件夾中所有的JPEG格式圖像里隱藏的元數據,因為Google在排名和關鍵詞上并不依賴這些元數據。一般每個JPEG圖像包含15KB到19KB的元數據,假設平均每個JPEG圖像的大小約為60KB到80KB,那麼刪除其中的元數據就能節省20%到30%的頻寬,更不用說CPU負載了。因此,如果你的WordPress主題帶有大量的背景圖像,通過刪除元數據將大大地影響總體性能。
在此推薦一款好用的免費軟件:Stripper。它能幫助你從JPG、JPEG、JFIF和PNG文件中刪除不必要的元數據,而且不會對圖片質量產生任何的損壞。
至於PNG圖像,推薦一款我用過的免費且優質的無損壓縮軟件:PNG Gauntlet。這軟件不僅能刪除元數據,而且壓縮和優化PNG圖像的功能也相當突出,使得文件的大小更小,但對圖像質量卻沒有任何可視的損壞。PNG Gauntlet適用於PNG和GIF圖像的壓縮,但運行速度稍慢。

reduce-wordpress-cpu-usage_1

2. 壓縮JPEG圖像
JPEG本身就是一種壓縮的圖像格式,想要進一步地壓縮JPEG文檔就是要降低圖像的質量,隨後再縮小圖像的尺寸。通常,在[上傳]文件夾裡的JPEG圖像的平均大小約為80KB,刪除元數據后會變成60KB左右。而使用壓縮軟件進一步壓縮這些JPEG文件,是能夠將每個JPEG圖像壓縮到平均45KB的大小的。在此,推薦兩款好用的圖像壓縮工具:分別是JPEGmini和Advanced Jpeg Compressor。JPEGmini是一款超好用的圖像壓縮工具,功能齊全,運作速度快,但JPEGmini並非是一款免費開源軟件,需要花費USD$19.99購買。而Advanced Jpeg Compressor則是一個完全免費的壓縮工具,能快速地批量壓縮JPEG圖像和刪除元數據。
而根據我們之前使用Advanced Jpeg Compressor處理5830張JPEG圖像得出的實驗結果(壓縮前文件大小為259MB,壓縮后文件大小變為105MB),伺服器每傳輸100MB的文件,它會佔用150MB的空間。因此,壓縮JPEG圖像文件會極大地減輕伺服器的負載和網頁寄存的頻寬。
另外,在WordPress中具有圖像優化功能的插件有CW Image OptimizerEWWW Image OptimizerWP Smush.it

reduce-wordpress-cpu-usage_2

3. 緩存、優化CSS并壓縮Javascript
通過刪除不必要的代碼和換行符,你就有機會將CSS文件的尺寸有效減少50%。這是因為,每當一個獨立訪問者瀏覽網誌時,你的style.css文件都會被自動下載,而CSS文件的減少,即可轉變為大量的頻寬節約。而Online CSS OptimizerClean CSS則是兩個不錯的CSS線上優化工具。
注意,還需刪除和優化訪問請求最多的index.php 和single.php這兩個網頁中所有的那些不必要的代碼、刪除換行符、清空空間、評論以及冗餘代碼等。這些操作能幫助再減少10KB的文件大小,當然,還可以使用W3 Total CacheWP Super Cache with Autoptimize這兩個緩存插件來幫助快速地自動完成工作。

reduce-wordpress-cpu-usage_3

4. 通過擁有並行下載功能的CDN外包所有圖像
通過將你的WordPress Theme里的圖像寄存到另一個伺服器的做法,可以大幅地降低CPU負載,無需使用任何插件或特別的軟件,相當方便。你甚至不需要在另外一個網頁寄存計劃上花費太多的精力,只需簡單地上傳圖像到CDN上即可。
一些人認為額外的DNS連接請求會佔用CPU的使用率,但再一次地通過我們的實驗證明,運行速度比之前是更快的。因此,將來最佳方案是使用一個CDN,即Content Distribution Network(內容交付網絡)。對於小型的網誌,我們推薦以下4款更實惠的CDN:
Amazon CloudFront CDN (運行速度最快,擁有許多的伺服器并支持並行下載。)
MaxCDN (統一費用,價格實惠但不是亞洲的服務器,支持並行下載。)
Jetpack Photon by WordPress (免費)
CoralCDN (是一個免費軟件,但不穩定。)

reduce-wordpress-cpu-usage_4

另外,有的人或許會不太瞭解[並行下載],並行下載是指CDN服務器能通過多個子域名分發圖像。通過如image01.domain.com、image02.domain.com、image03.domain.com和image04.domain.com這4個子域名即時地將圖像分發出去,會比通過單一的子域名將圖像分發出去的速度更快。

5. 清理WordPress選項
當你激活一個插件,它會在MySQL的wp_options數據庫中多多少少佔用點內存,因此清理WordPress Options數據庫也不失為降低CPU使用率的一個好主意。WordPress Clean Options插件的目標是為用戶提供一個簡單而安全的方式,讓繁瑣的wp_options表格減少成一個雜誌的尺寸大小,從而改善提升網誌的性能。
另外,記得在執行清理處理之前要停用和刪除不用的插件,以及備份你的數據庫資料。

reduce-wordpress-cpu-usage_5

6. 優化MySQL數據庫
想象一下你進入一個書籍雜亂無章、沒有進行適當歸檔的圖書館,你肯定會感到頭痛不已。如Windows一樣,你的MySQL數據庫隨著時間流逝會變得零零散散的。通過整理磁盤碎片的方式來優化你的數據庫,WordPress如今能夠更快地找到碎片,幫助縮短CPU所需的搜尋和彙編信息的時間,從而空出更多的時間去處理新的查詢和請求。
另外,如果你覺得登陸到MySQL數據庫有點麻煩,可以嘗試安裝WP-OptimizeWP-Sweep這兩個很不錯的插件。

reduce-wordpress-cpu-usage_6

7. 進行GZip壓縮
如果你擁有WP-SuperCache或其他執行這一任務的緩存插件,則可以跳過這一方法。通過啟用網誌上的GZip壓縮功能,它將會大大地增加CPU負載,與此同時會減少篇頻寬。當然,GZip既有自己的優勢也有劣勢,GZip的優勢在於由於更小的文件尺寸(平均每個文件的大小能減少60~70%),網頁的加載速度往往更快了。而更小的文件尺寸意味著更快的服務和下載,意思就是說你的CPU擁有更多應付其他命令的處理能力。
但無論妳作出何種選擇,想要在WordPress中啟用GZip,只需簡單地將以下這個代碼插入到header.php裡面。

<?php if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’)) ob_start(“ob_gzhandler”); else ob_start(); ?>

或者,你也可以選擇將這個簡單的GZip代碼插入到你的.htaccess文件中。

SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding “gzip,deflate” env=HAVE_Accept-Encoding

AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml

同樣地,為了幫助你更好地壓縮GZip文件,推薦三個優質的GZip網站驗證工具:Is My Blog WorkingArul John’s Gzip TestSEO Site Checkup。另外,在W3 Total Cache和WP Super Cache插件中GZip壓縮功能是自動執行的。

8. 啟用Lazy Load插件
該插件是由WordPress的出品商Automattic推出的。通過延遲加載圖片的方法來改善網頁加載的時間和服務器頻寬。而圖像只有當在用戶可見的情況下才會被加載。總之,這個插件對于那些附有大量圖像的網誌來說非常有用。

reduce-wordpress-cpu-usage_7

9. 啟用默認的WordPress Object Cache
如果你正使用某一個緩存插件,那麼你可以跳過該方法了。在WordPress2.0及更高版本中有一個被稱為WordPress Object Cache的功能,但很遺憾它不是默認啟用的,因此使得這個功能有點神秘。

define(‘ENABLE_CACHE’, TRUE);

開啟這個功能的步驟也不是很複雜,首先你要打開你的wp-config.php文件,接著插入上圖的代碼,然後創建緩存目錄,最後將緩存文件夾的可寫權限改為755或777即可。而若想設置它的有效期,你可以添加以下這一行:

define(‘CACHE_EXPIRATION_TIME’, 3600);

但如果你正使用W3 Total Cache的Wp-SuperCache,你可以忽略WordPress Object Cache這個功能。另外,最後一個要點是:你要明智地選擇和使用一個好的WordPress主題。一個擁有優質編碼的主題會極大地減少查詢的數量、盡量少的W3C錯誤並與Google相當友好。你可以插入以下這個代碼來查看不同主題的查詢的數量。

<?php echo $wpdb->num_queries; ?>q, <?php timer_stop(1); ?>s

Leave a Reply

Your email address will not be published. Required fields are marked *