本教學繼續我們在使用 New Relic 監控 WordPress 效能中的內容。在這裡,我將向您提供 WordPress 效能的概念性概述,並指導您使用 New Relic 檢查您自己網站的效能。
如果您是從使用 Varnish 和 W3 Total Cache 優化 WordPress 教學來到這裡的,那麼您已經擁有了一個非常優化的 WordPress 基礎。如果沒有,您可能需要返回並查看該文章。
WordPress 是一個功能強大的開源部落格系統,可以支援小型個人部落格和主要媒體組織的大型網站。但實際上要很好地運行 WordPress,並成功且經濟地擴展它,需要大量的複雜性。
New Relic 的效能監控服務提供了一種出色的方法來確保您的 WordPress 組態保持平穩且有效率的運作。
注意:New Relic 警告說,其服務最好用於在專用伺服器上優化 WordPress,而不是虛擬或共享伺服器(例如許多基於雲端的供應商提供的伺服器)。如果您在共享主機上運行 WordPress,New Relic 對您來說可能不如在專用伺服器上運行的網站那麼有用。
如果您想在深入了解本性能指南之前了解有關 New Relic 的更多信息,Tuts 提供了有關其服務的各種文章。
2013 年,免費 W3 Total Cache WordPress 外掛程式的創建者 Frederick Townes 為 New Relic 撰寫了一篇博文,描述了我們需要考慮的性能方面:使用 New Relic 優化 WordPress 性能。這是一個很好的總結,我將對其進行審查。
湯斯強調了我們需要關注的核心領域:
1。磁碟效能。 非共享本機磁碟始終提供最一致、最可靠的效能。例如,使用配備 SSD 硬碟或高速硬碟的主機是理想的選擇。
2。 MySQL查詢快取。 查詢快取保存常見資料庫查詢的結果,並且可以立即傳回結果,而無需重複執行。 Townes 建議執行 MySQLTuner 以協助最佳化資料庫配置。
3。 WordPress 主題和外掛程式對查詢的使用。 WordPress 開箱即用,配置運作良好,但當我們新增第三方外掛程式和主題時,我們可能會遇到各種錯誤程式碼,從而導致效能問題。
4。 WordPress 主題和外掛的檔案大小。 減少檔案大小和檔案數量(從而減少 HTTP 事務)會對使用者的網站體驗產生巨大影響。不幸的是,並非所有級聯樣式表 (CSS) 或 JavaScript (JS) 都可以輕鬆整合和最小化。
5。優化PHP,速度相對較慢。更快的 PHP 版本(例如 HHVM)將來可能適用於 WordPress,但我了解到它對此任務還不穩定。同時,Townes 提供了一系列建議:減少腳本的記憶體佔用、使用自動載入、使用記憶、避免循環、減少執行時間、最小化開啟的檔案數量以減少對磁碟的呼叫和記憶體使用,以及使用 include
和require
而不是include_once
和require_once
。
6。使用Opcode Caching,例如APC,一個用於PHP程式碼的開源快取框架。 Townes 說:「APC 將程式碼的解釋(可執行)版本保留在記憶體中,這樣就不必重新解釋對其的請求。」
「WordPress 的物件快取是發生很多魔法的地方。WordPress 在處理頁面要求時會產生各種物件群組。這些群組有多種用途,並且根據您使用WordPress 的方式,非常重要例如,透過使用memcached或APC 後端儲存持久性儲存物件來實現效能提升。」
Townes 的 W3 Total Cache 在頁面快取層級實現了這一點,允許 PHP 仍然可以產生給定頁面的部分內容,而頁面中未更改的較大部分被快取且不會重新產生的情況。
「W3TC 將允許您選擇除MySQL 之外的資料存儲,例如memcached,它是為從多個應用程式伺服器進行高速存取而設計的。因此,每個頁面請求都不需要獲取有關訪問者或其他人的相應資訊。動態元素,MySQL 現在能夠僅關注(並調整)模板的動態部分。」
Townes 說,「片段快取將使您的執行時間減少幾個數量級。」
7.使用頁面快取。 擴展典型網站最有用的技術是頁面快取。我們不是用每個頁面請求(WordPress、主題、外掛程式、HTML 和 MySQL)存取整個堆疊,而是從 Web 快取(通常是從記憶體)檢索靜態 HTML。未快取的 WordPress 網站上的流量擴充功能可以在幾秒鐘內將其關閉,而記憶體快取中預先編寫的 HTML 檔案的流量擴充則可以大規模擴展。
Townes 表示:「反向代理通常在Web 應用程式和公共互聯網之間提供快取。其目標是減輕其背後的Web 伺服器的負載。反向代理針對返回底層應用程式產生的內容進行了最佳化。 Varnish、Nginx 甚至Apache 都可以設定為提供反向代理功能。 」
我最常將 Varnish 與 Apache 和 W3 Total Cache 結合來擴展 WordPress。如果您對這些配置感興趣,請查看:使用 Varnish 和 W3 Total Cache 優化 WordPress (Tuts )。
8。內容交付網路 (CDN) 是基於雲端的快取服務,用於頻繁使用的檔案和媒體。 Townes 說:「使用CDN,您的網站託管在哪裡並不重要。如果您的訪客位於世界其他地方,CDN 會快取靠近他們的內容,從而減少總頁面加載時間。為您的網站。」
現在我們已經了解了 WordPress 運作良好的一些關鍵概念,讓我們看看 New Relic 如何幫助我們。
New Relic 是一項效能監控服務,它與包括 PHP 在內的各種伺服器和語言技術一起運行,非常適合優化 WordPress。
New Relic 提供完整堆疊的效能監控(最終用戶體驗),而且還提供詳細的伺服器監控。 Townes 表示,「New Relic 讓傳播環境中發生的事情變得輕而易舉。」
#當您在伺服器上執行New Relic 時,您可以獲得有關伺服器和PHP 的詳細效能監控圖表和統計數據,包括:回應時間、Apdex 分數(滿意回應時間與不滿意回應時間的比率)、吞吐量(請求)每分鐘),網路交易,例如第三方API請求、錯誤率、最近事件和伺服器資訊。
更進一步,New Relic 瀏覽器可監控全頁生命週期資料 — 遠遠超出初始頁面載入的範圍。對於每個最終用戶頁面加載,New Relic 瀏覽器捕獲:
您可以在全球範圍內查看所有使用者的數據,並按網頁、瀏覽器、使用者會話和位置查看資料的切片和切塊。
#我在使用 New Relic 瀏覽器進行前端監控 (Tuts ) 中更全面地介紹了 New Relic 瀏覽器。
#New Relic Synthetics 讓您在世界各地對您的網站進行定期測試,以便在出現問題時立即通知您。我將在即將發布的教程中介紹 Synthetics,因此請訪問我的 Tuts 講師頁面以查看它何時發布。
#我在本教程中解釋了 W3 Total Cache New Relic 服務整合的註冊和安裝流程:使用 New Relic 進行監控WordPress 效能(Tuts )。
#在 WordPress 管理控制台中,按一下效能 > 監控。點選註冊免費帳戶。將 API 和許可證金鑰的詳細資訊複製到下面的 W3 Total Cache 設定面板中:
#在伺服器上啟用 New Relic 可以從 W3TC 儀表板進行監控,如下所示:
如需了解更多詳情,您可以造訪 New Relic 網站並登入您的帳戶。
在較高層面上,New Relic Server 監控為您提供 CPU 使用情況、記憶體使用情況、磁碟和網路 I/O 的概覽,以及有關硬體和最活躍進程的資訊。這可以讓您鳥瞰您的配置所發生的情況,並提醒您任何重大問題:
「進程」標籤顯示每個進程的記憶體和 CPU 使用率:
您也可以查看警報歷史記錄,指示您網站效能的危險訊號:
New Relic 可透過三種主要方式評估 WordPress 效能:
1。 Apdex。 New Relic 使用 Apdex 評分來幫助您根據行業標準衡量評估您的 Wordpress 應用程式對最終用戶的執行情況。這有助於您為故障排除提供更好的數據,並更清楚地了解感到沮喪或滿意的使用者百分比。 Apdex 評分還提供了比一般的「網站速度慢」投訴更具體的背景信息,這種投訴甚至可能要到事件發生數小時後才會通知您。 Apdex 也為您提供了一種更客觀的方法來衡量實際使用者對效能改進的感受。
#2。 MySQL 效能。 Wordpress 外掛程式和主題可能會濫用您的 mySQL 資料庫。您可以透過查看 New Relic 中的慢速 SQL 來找出哪些問題造成了問題。例如,您可能會發現用於類別和標籤的 wp_terms 上的選擇可能佔用了總資料庫時間的 20%。或者,您可能會注意到緩慢的 INSERT 語句可以透過適當放置的索引或精煉查詢來改進。
3。監控第三方插件和 API 的效能。 在 WordPress 中使用社群媒體外掛程式、監控外掛程式和其他很酷的小工具非常容易,但這些第三方依賴項如何影響您的部落格或部落格可能並不明顯行銷網站。 New Relic 可讓您「匯總」外部服務呼叫以獲得更全面的視圖,並且您還可以在 New Relic 擷取的每個 Web 交易中監控這些第三方的回應時間。
我們可以使用 New Relic 的瀏覽器來更詳細地研究 WordPress 效能。您需要特別從我們的主題和外掛程式中查找可能對效能產生負面影響的程式碼。
儀表板為您提供按 Apdex 和吞吐量細分的頁面載入時間概覽:
以下是過去 24 小時內我的 Apdex 分數的放大視圖:
您也可以按頁面瀏覽量查看效果:
深入分析時,可以查看網站載入的各個檔案的效能。您需要查找任何花費可疑時間的主題或外掛程式檔案:
New Relic 伺服器監控還可以追蹤 MySQL 查詢的效能:
您可以深入了解更多詳細資訊:
並診斷最慢的查詢:
這對於識別由不良外掛程式碼建立的緩慢查詢特別有用。
會話追蹤可讓您了解網頁的整個生命週期,包括使用者互動、資源載入、iframe、等待 Ajax 呼叫所花費的時間、錯誤等等,從頭到尾追蹤真實使用者的真實體驗。
追蹤不僅可以識別問題,還可以向您顯示使用者在錯誤發生之前和之後執行的操作。
以下是對您的會話的詳細深入分析。這有助於評估主題和外掛程式中程式碼的效能:
會話追蹤可協助您了解:
您可以準確地看到特定使用者的瀏覽器在任何特定時刻發生的情況。會話追蹤為您提供使用者會話中所有事件的詳細、直觀的視覺化,可以幫助找出問題區域並輕鬆識別解決方案。了解有關使用會話追蹤的更多資訊。
透過 Ajax 頁面,您可以查看該頁面上的任何互動式呼叫所發生的情況,從而在呼叫耗時或失敗時幫助確定使用者體驗問題:
請注意,New Relic 瀏覽器不會自動記錄 Ajax 資料。您需要在 New Relic 設定區域中為每個應用程式開啟它。了解有關 Ajax 儀表板的更多資訊。
瀏覽器 JavaScript 錯誤儀表板可讓您快速查看即時生產 JavaScript 隨著時間的推移在哪些瀏覽器上發生了哪些錯誤。您可以根據每個錯誤發生的次數以及遇到該錯誤的唯一頁面載入次數來調查錯誤。
這使您能夠識別影響網站上真實使用者體驗的錯誤;這是一種特別有效的方法,可了解您自己的測試中或您可能已從測試台中排除的瀏覽器上未出現的JavaScript 錯誤。
自架 WordPress 需要高度的技術技能。如果您不願意,託管主機是更好的選擇。其中許多在內部使用 New Relic 來優化自己的網站,例如Page.ly。
#深入研究 New Relic 需要投入時間,但結果是值得的。使用此工具,您可以查看 WordPress 堆疊的內部情況,以便快速找出需要解決的問題區域。
如果您自行託管,New Relic 的服務可以提供極其強大的方式來了解您自己的託管環境以及 WordPress 堆疊、主題和插件,並馴服性能野獸。
在您的推出過程中(以及您的開發過程,如果您正在建立自己的主題和外掛程式),您肯定會希望使用 New Relic 深入了解您的網站。
雖然您可以永久使用 New Relic Lite,但兩週試用期結束後,您可能需要升級到 Pro 套餐(149 美元/月)以保持相同水平的服務。 New Relic 瀏覽器、Synthetics 和 Insight 都有自己的定價結構 - 要了解更多信息,請訪問 New Relic 網站。
#如果您有任何疑問或更正,請在評論中提出。如果您想繼續關注我未來的 Tuts 教程和其他系列,請訪問我的講師頁面或關注 @reifman。
以上是使用新的遺跡診斷WordPress效能問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!