不可能高估緩存對網站性能的影響。然而,有多種不同類型的緩存,以及多種緩存解決方案可供選擇。這意味著許多 WordPress 用戶不確定從哪里開始緩存,甚至不確定他們是否需要緩存。
快速的網站對于提供出色的用戶體驗至關重要 - 它可以提高您的搜索引擎排名并推動轉化。雖然緩存可能有點技術性,但它也可以幫助您實現所有這些目標,甚至更多。
在本文中,我們將為您的 WordPress 網站揭開緩存的神秘面紗。我們將探索什么是緩存,以及各種可用的選項。然后,我們將深入探討一種不太常討論的緩存解決方案,但可以為您的 WordPress 網站帶來真正的好處。讓我們開始吧!
什么是緩存(以及為什么它很重要)
默認情況下,只要有人登陸您的網站,他們的瀏覽器就會向您的服務器發送對該頁面的請求。然后服務器處理這個請求,編譯頁面,并將它發送回瀏覽器。
如果您的網站流量相對較低,您的服務器可能能夠處理每個請求,而不會對您網站的性能產生明顯影響。但是,隨著站點的增長,您的服務器將不得不更加努力地工作以處理越來越多的請求。這可能會開始影響您網站的性能。
緩存是將經常訪問的數據存儲在臨時緩存中的過程。每次訪問者請求此數據時,都會從緩存而不是服務器提供該數據。這減少了后者的壓力。
如果數據尚未緩存,則請求將發送到服務器。但是,在返回瀏覽器的過程中,該數據的副本將存儲在緩存中。這確保下次有人請求此內容時緩存副本可用。
緩存可以提高您網站的性能,即使在流量很大時也是如此。這樣可以更輕松地擴展您的網站,并處理意外的流量高峰。
緩存還可以幫助您通過更快地交付內容來提供更好的訪問者體驗。由于訪問者在您的網站上獲得了積極的體驗,他們更有可能采取積極的行動,例如訂閱您的時事通訊或購買產品。這有望提高您的轉化率和收入。
谷歌等搜索引擎也使用頁面速度作為排名因素。這意味著緩存可以對您的搜索引擎優化(SEO) 產生積極影響。在 Google 的結果中僅上升一個位置就可以將您的點擊率(CTR) 提高 53% 以上,從而使 SEO 成為擴大受眾的重要方式。
不同類型的緩存(及其好處)
有多種緩存解決方案供您選擇。雖然它們通常遵循相同的一般原則,但具體的解決方案在實踐中可能會有所不同。
使用一些緩存解決方案,數據會在他們第一次訪問您的網站時本地存儲在他們的計算機上。在隨后的訪問中,這些數據可以從他們的本地存儲中加載。這將提高頁面加載速度。然而,俗話說,你永遠不會有第二次機會給人留下第一印象!如果訪問者的第一印象是一個緩慢、反應遲鈍的網站,他們就不太可能再次訪問。
其他解決方案提供存儲站點緩存版本的外部位置,最著名的是內容交付網絡(CDN)。這些位置通常是物理分布的,為您的全球受眾提供方便的本地訪問點。訪問者的瀏覽器將從物理上離他們最近的訪問點請求緩存數據。與與可能位于數千英里之外的服務器通信相比,這通常會提高您的頁面加載速度。
可用的緩存解決方案可能因您構建站點的方式而異。例如,如果您使用的是 WordPress 等流行平臺,您將可以訪問一系列專用緩存工具。
一些托管服務提供商也提供他們自己的緩存解決方案。為了幫助您創建一個高性能的網站,您可能希望選擇提供緩存作為其托管計劃一部分的提供商。
“對象緩存”如何改善您的網站
Memcached被歸類為對象緩存系統。在我們特別仔細研究 Memcached 之前,了解一下對象緩存的概述會有所幫助。
作為內容管理系統 (CMS),WordPress 嚴重依賴其MySQL 數據庫。這意味著數據庫效率對于提供高性能的 WordPress 網站至關重要,尤其是隨著訪問您網站的人數不斷增加。
每次有人向您的網站發出請求時,它都會生成一個數據庫查詢。如果您的站點收到大量對數據庫的請求,它可能會使您的服務器不堪重負。這可能會導致性能下降,甚至可能導致您的網站離線。
對象緩存是一種存儲數據庫查詢的服務器端緩存。下一次請求特定數據時,它將從緩存中傳送,而無需查詢數據庫。這意味著您的服務器不必每次有人請求特定數據時都重新生成數據庫查詢的結果。
您可以使用多種技術來存儲對象緩存。這包括 Memcached,也包括 WordPress 的WP_Object_Cache類。
WordPress 的內置解決方案(以及為什么需要額外的對象緩存)
WordPress 有自己的對象緩存類,稱為WP_Object_Cache。這個內置的對象緩存解決方案保存了您網站上運行的最復雜和最常用查詢的副本。然后它將這些結果存儲在數據庫表中。
通過這種方式,WP_Object_Cache可確保在針對類似查詢請求的單個頁面加載期間不會多次查詢數據庫。但是,在每個請求結束時,WP_Object_Cache會丟棄其緩存中的所有對象。這意味著下次請求頁面時必須從頭開始構建對象。
為了獲得最大的性能優勢,您需要在多個頁面加載之間保留對象緩存。這稱為持久對象緩存,因為對象緩存在請求之間持續存在。
持久對象緩存不是一直緩存每個頁面或對象,而是使您能夠緩存對象一次,并根據需要提供它們。這使得持久對象緩存對于具有大量重復內容的站點尤為重要。有許多適用于 WordPress 的持久對象緩存解決方案,包括 Memcached。
Memcached 簡介
Memcached 是一種開源持久對象緩存工具。這實質上意味著 Memcached 存儲對象,以便它們可以在頁面加載之間重復使用。Memcached 將其數據保存在讀取訪問內存 (RAM) 中,這減少了需要讀取數據庫的次數。
Memcached 屬于NoSQL系列數據管理解決方案,并基于鍵值對存儲其所有數據。這包括 API 調用和數據庫調用的結果。
Memcached 作為一種持久化對象緩存解決方案,在頻繁請求同一塊數據時特別有用。例如,您的站點可能包含大量重復出現的內容。當生成特定內容的成本很高時,Memcached 還可以顯著提升性能。
除了 WordPress 的內置WP_Object_Cache類之外,通過使用 Memcached,您可以顯著減少站點 MySQL 數據庫的壓力。這可以減少您的響應時間和頁面加載時間,即使您的網站流量很大。它還可以幫助您的網站管理意外的流量高峰,包括臭名昭著的Reddit“死亡擁抱”。
Memcached 對象緩存解決方案的工作原理
Memcached 使用基于四個組件的客戶端-服務器架構。第一個組件是客戶端服務器,它保留可用 Memcached 服務器的列表。
每當客戶端-服務器接收到查詢時,它首先檢查該數據是否存在于緩存中。如果數據已經可用,Memcached 會在不中斷數據庫的情況下將其返回給客戶端。如果數據未緩存,Memcached 會將請求轉發到數據庫。
為了幫助分配負載,典型的 Memcached 實現由多個服務器和客戶端組成。Memcached 使用基于客戶端的散列算法將每個請求匹配到適當的服務器。
還有 Memcached 服務器軟件,它存儲各種對象的鍵/值組合。這包括 API 調用、頁面呈現和數據庫調用的結果。Memcached 將這些鍵/值組合存儲在內部哈希表中。
最后,Memcached 有一個最近最少使用 (LRU) 算法。該算法通過識別最近最少使用的對象來幫助防止緩存無限增長。
LRU 作用于鏈表。每當訪問或更新列表條目時,它就會從列表中刪除并附加到列表頭。這意味著列表底部的條目最近使用的次數少于列表頂部的條目。每當 Memcached 需要重用內存時,它就會從列表底部刪除條目。
在您的 WordPress 網站上使用 Memcached 的好處
Memcached 存儲數據庫查詢的結果。因此,無論何時訪問者再次請求相同的查詢,Memcached 都可以響應而無需處理該查詢。
通過這種方式,Memcached 可以顯著提高您網站的性能,并減少頁面加載時間。研究表明,40% 的人會放棄加載時間超過三秒的網站。Memcached 可以幫助您避免因頁面加載時間緩慢而失去大量受眾。
快速、響應迅速的網站通常還能提供更好的整體訪問者體驗。由于訪問者在您的網站上度過了愉快的時光,因此他們更有可能訪問多個頁面。這會增加關鍵性能指標,例如會話持續時間和訪問的頁面總數。它還增加了重復訪問和轉換的機會。
還有證據表明搜索引擎使用速度作為主要的頁面排名因素。通過減少頁面加載時間,Memcached 可以為您的 SEO 做出積極貢獻。這也可以提高您的搜索引擎排名。
研究表明,Google 的前五個自然搜索結果獲得了超過三分之二的點擊次數。通過使用 Memcached 提高網站性能,您可以顯著增加自然流量。
數據庫必須處理的每個請求都會增加服務器的負載。在向數據庫發送請求之前,Memcached 會檢查其內存。如果存在相關緩存,Memcached 會在不涉及數據庫的情況下回復請求。這可以減少服務器的負載,從而幫助您的網站處理更大的流量。這包括意外的流量高峰。
如何在 WordPress 中使用對象緩存(3 個簡單步驟)
Memcached 位于您的托管服務器上。鑒于此,在您可以使用 Memcached 之前,您的托管服務提供商將需要安裝它。我們很高興幫助您啟動并運行 Memcached。客戶可以通過客戶門戶打開支持票,我們將處理其余的事情。在您的系統上成功安裝 Memcached 后,讓我們看看如何配置它。在本節中,我們還將展示如何衡量對象緩存對您網站的影響。
1. 獲得績效基準
在啟用 Memcached 之前,獲取性能基準可能很有用。這使您能夠衡量 Memcached 對您的 WordPress 網站的影響。
您可以使用多種平臺來衡量網站的性能。但是,GTmetrix提供了網站加載指標的詳細分類。這對于評估頁面加載時間特別有用。
要查看您的站點當前的運行狀況,請轉到 GTmetrix 主頁并輸入您站點的 URL。然后 GTmetrix 將生成一份關于您網站性能的詳細報告。
該報告分為幾個選項卡。Waterfall選項卡顯示您網站上每個資產如何加載的可視化表示。這包括您的 CSS、HTML、JavaScript、圖像和插件。您可以使用提供的瀑布圖來分析每個資產如何影響您網站的加載時間。
“歷史”選項卡顯示您站點的歷史性能。您可以使用此選項卡比較啟用 Memcached 前后的頁面加載時間。
雖然您可以免費分析您的網站,但也可以使用GTmetrix Pro。此 Pro 軟件包添加了一些額外的功能,包括資源使用情況圖表、每小時監控和報告的無限自定義過濾器。
2.使用專用插件
我們通過我們的A2 優化插件提供 Memcached 。這是為您的 A2 托管帳戶配置 Memcached 的最簡單方法。使用 A2 Optimized,您可以配置 CSS、HTML 和 JavaScript 縮小。您還可以啟用數據庫、對象和頁面緩存。
安裝并激活 A2 Optimized 插件后,導航至Plugins > Installed Plugins。在此頁面上,找到 A2 Optimized 插件并選擇其附帶的設置鏈接。
然后您可以選擇開始安裝 > 激活 > 開始配置。A2 Optimized 現在將掃描您的網站并提出一些提高網站性能的方法。
要激活 Memcached,請滾動到Memcached部分并選擇Enable。Memcached 現已啟動并運行,并將開始緩存您的數據。
或者,您可以使用W3 Total Cache等緩存插件配置 Memcached 。W3 Total Cache 是一個與網絡主機無關的網絡性能優化 (WPO) 框架,它與一系列托管解決方案兼容。這包括共享主機、專用主機和虛擬專用服務器。
要使用 W3 Total Cache 啟用 Memcached,請激活插件并導航至Performance > General Settings。接下來,打開Page cache method下拉菜單,然后選擇Memcached。
然后,打開Minify 緩存方法下拉菜單,并選擇Memcached。最后,打開Database cache method下拉菜單,然后選擇Memcached。保存您的更改,Memcached 現在將在您的網站上啟用。
3. 如何重新測試您的 WordPress 網站的性能
激活 Memcached 后,您可能想要測試網站的性能。這可以幫助您評估 Memcached 對關鍵指標的影響,尤其是頁面加載時間。您可以重新運行 GTmetrix,并使用該工具的歷史選項卡比較結果。
通過重新檢查您網站的性能,您可以確定其他可以改進的地方。正如我們之前提到的,有多種緩存方法和各種可用的緩存解決方案。為了進一步提高您網站的性能,您可能需要考慮實施 CDN 或使用專用緩存插件。
如果您選擇了 A2 Optimized 插件,我們建議您探索它的一些附加功能,尤其是TurboCache。第一次請求頁面時,TurboCache 會存儲頁面 HTML 輸出的靜態副本。然后服務器將使用這個緩存的副本進行后續的頁面請求,而不是重復運行頁面的腳本和數據庫查詢。這可以進一步提高您網站的性能。
結論
在優化您的 WordPress 網站時,緩存起著至關重要的作用。雖然它看起來像是一個技術主題,但在您的托管服務提供商的幫助下,您可以獲得高級緩存解決方案,例如在您的 WordPress 網站上啟動并運行 Memcached。
Memcached 是一種駐留在托管服務器上的緩存機制。因此,啟用 Memcached 的第一步是聯系您的托管服務提供商。一旦他們啟用了 Memcached,您就可以使用優化插件來激活和配置這個高級緩存解決方案。
影響網站性能的因素有很多,包括您選擇的托管服務提供商。與競爭對手的 WordPress 網絡托管服務提供商相比,我們的Turbo 服務器可以將頁面加載速度提高多達 20 倍。當與緩存結合使用時,這可以增強您的 WordPress 網站。