搜尋
首頁後端開發php教程使用新的遺跡診斷WordPress效能問題

使用新的遺跡診斷WordPress效能問題

本教學繼續我們在使用 New Relic 監控 WordPress 效能中的內容。在這裡,我將向您提供 WordPress 效能的概念性概述,並指導您使用 New Relic 檢查您自己網站的效能。

如果您是從使用 Varnish 和 W3 Total Cache 優化 WordPress 教學來到這裡的,那麼您已經擁有了一個非常優化的 WordPress 基礎。如果沒有,您可能需要返回並查看該文章。

在 WordPress 中使用 New Relic

WordPress 是一個功能強大的開源部落格系統,可以支援小型個人部落格和主要媒體組織的大型網站。但實際上要很好地運行 WordPress,並成功且經濟地擴展它,需要大量的複雜性。

New Relic 的效能監控服務提供了一種出色的方法來確保您的 WordPress 組態保持平穩且有效率的運作。

注意:New Relic 警告說,其服務最好用於在專用伺服器上優化 WordPress,而不是虛擬或共享伺服器(例如許多基於雲端的供應商提供的伺服器)。如果您在共享主機上運行 WordPress,New Relic 對您來說可能不如在專用伺服器上運行的網站那麼有用。

如果您想在深入了解本性能指南之前了解有關 New Relic 的更多信息,Tuts 提供了有關其服務的各種文章。

是什麼讓 WordPress 變得快或慢?

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 提供了一系列建議:減少腳本的記憶體佔用、使用自動載入、使用記憶、避免循環、減少執行時間、最小化開啟的檔案數量以減少對磁碟的呼叫和記憶體使用,以及使用 includerequire 而不是include_oncerequire_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 監控 WordPress

New Relic 是一項效能監控服務,它與包括 PHP 在內的各種伺服器和語言技術一起運行,非常適合優化 WordPress。

New Relic 提供完整堆疊的效能監控(最終用戶體驗),而且還提供詳細的伺服器監控。 Townes 表示,「New Relic 讓傳播環境中發生的事情變得輕而易舉。」

#當您在伺服器上執行New Relic 時,您可以獲得有關伺服器和PHP 的詳細效能監控圖表和統計數據,包括:回應時間、Apdex 分數(滿意回應時間與不滿意回應時間的比率)、吞吐量(請求)每分鐘),網路交易,例如第三方API請求、錯誤率、最近事件和伺服器資訊。

使用新的遺跡診斷WordPress效能問題

更進一步,New Relic 瀏覽器可監控全頁生命週期資料 — 遠遠超出初始頁面載入的範圍。對於每個最終用戶頁面加載,New Relic 瀏覽器捕獲:

  • 在前端(瀏覽器)花費的時間
  • 在瀏覽器中執行的程式碼和事件(JavaScript、Ajax 和最終用戶互動)
  • 在後端(網路和網路應用)花費的時間
  • 地理起源
  • 瀏覽器類型和版本以及作業系統

您可以在全球範圍內查看所有使用者的數據,並按網頁、瀏覽器、使用者會話和位置查看資料的切片和切塊。

#我在使用 New Relic 瀏覽器進行前端監控 (Tuts ) 中更全面地介紹了 New Relic 瀏覽器。

#New Relic Synthetics 讓您在世界各地對您的網站進行定期測試,以便在出現問題時立即通知您。我將在即將發布的教程中介紹 Synthetics,因此請訪問我的 Tuts 講師頁面以查看它何時發布。

使用帶有 W3 總緩存的 New Relic

使用新的遺跡診斷WordPress效能問題

#我在本教程中解釋了 W3 Total Cache New Relic 服務整合的註冊和安裝流程:使用 New Relic 進行監控WordPress 效能(Tuts )。

#在 WordPress 管理控制台中,按一下效能 > 監控。點選註冊免費帳戶。將 API 和許可證金鑰的詳細資訊複製到下面的 W3 Total Cache 設定面板中:

使用新的遺跡診斷WordPress效能問題

#在伺服器上啟用 New Relic 可以從 W3TC 儀表板進行監控,如下所示:

使用新的遺跡診斷WordPress效能問題

如需了解更多詳情,您可以造訪 New Relic 網站並登入您的帳戶。

監控您的 WordPress 效能

評估伺服器效能

在較高層面上,New Relic Server 監控為您提供 CPU 使用情況、記憶體使用情況、磁碟和網路 I/O 的概覽,以及有關硬體和最活躍進程的資訊。這可以讓您鳥瞰您的配置所發生的情況,並提醒您任何重大問題:

使用新的遺跡診斷WordPress效能問題New Relic Servers Dashboard使用新的遺跡診斷WordPress效能問題

「進程」標籤顯示每個進程的記憶體和 CPU 使用率:

使用新的遺跡診斷WordPress效能問題

您也可以查看警報歷史記錄,指示您網站效能的危險訊號:

使用新的遺跡診斷WordPress效能問題

評估 WordPress 效能

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 和吞吐量細分的頁面載入時間概覽:

使用新的遺跡診斷WordPress效能問題

以下是過去 24 小時內我的 Apdex 分數的放大視圖:

使用新的遺跡診斷WordPress效能問題

您也可以按頁面瀏覽量查看效果:

使用新的遺跡診斷WordPress效能問題

深入分析時,可以查看網站載入的各個檔案的效能。您需要查找任何花費可疑時間的主題或外掛程式檔案:

使用新的遺跡診斷WordPress效能問題

使用新的遺跡診斷WordPress效能問題

MySQL分析

New Relic 伺服器監控還可以追蹤 MySQL 查詢的效能:

使用新的遺跡診斷WordPress效能問題

您可以深入了解更多詳細資訊:

使用新的遺跡診斷WordPress效能問題

並診斷最慢的查詢:

使用新的遺跡診斷WordPress效能問題

這對於識別由不良外掛程式碼建立的緩慢查詢特別有用。

會話追蹤

會話追蹤可讓您了解網頁的整個生命週期,包括使用者互動、資源載入、iframe、等待 Ajax 呼叫所花費的時間、錯誤等等,從頭到尾追蹤真實使用者的真實體驗。

追蹤不僅可以識別問題,還可以向您顯示使用者在錯誤發生之前和之後執行的操作。

使用新的遺跡診斷WordPress效能問題

以下是對您的會話的詳細深入分析。這有助於評估主題和外掛程式中程式碼的效能:

使用新的遺跡診斷WordPress效能問題

會話追蹤可協助您了解:

  • 使用者如何體驗頁面加載,包括 DOM 加載時間、等待 Ajax 請求完成的時間以及使用者與頁面的互動
  • JavaScript 和瀏覽器事件的順序(比其他事件花費的時間更長)以及每個事件發生的時間

  • 瓶頸發生的位置以及可能導致瓶頸的原因
  • 透過為會話期間的各個事件提供上下文,為什麼一個頁面載入可能比其他頁面載入慢

您可以準確地看到特定使用者的瀏覽器在任何特定時刻發生的情況。會話追蹤為您提供使用者會話中所有事件的詳細、直觀的視覺化,可以幫助找出問題區域並輕鬆識別解決方案。了解有關使用會話追蹤的更多資訊。

#Ajax 和 JavaScript

透過 Ajax 頁面,您可以查看該頁面上的任何互動式呼叫所發生的情況,從而在呼叫耗時或失敗時幫助確定使用者體驗問題:

使用新的遺跡診斷WordPress效能問題

請注意,New Relic 瀏覽器不會自動記錄 Ajax 資料。您需要在 New Relic 設定區域中為每個應用程式開啟它。了解有關 Ajax 儀表板的更多資訊。

瀏覽器 JavaScript 錯誤儀表板可讓您快速查看即時生產 JavaScript 隨著時間的推移在哪些瀏覽器上發生了哪些錯誤。您可以根據每個錯誤發生的次數以及遇到該錯誤的唯一頁面載入次數來調查錯誤。

這使您能夠識別影響網站上真實使用者體驗的錯誤;這是一種特別有效的方法,可了解您自己的測試中或您可能已從測試台中排除的瀏覽器上未出現的JavaScript 錯誤。

使用新的遺跡診斷WordPress效能問題

展望未來

自架 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。

#相關連結

  • 使用 New Relic 監控 WordPress 效能 (Tuts )
  • 使用 Varnish 和 W3 Total Cache 優化 WordPress (Tuts )
  • 使用新的 Relic 瀏覽器進行前端監控 (Tuts )
  • 在 W3 Total Cache 合作夥伴頁面註冊 NewRelic
  • 使用 New Relic 優化 WordPress 效能

以上是使用新的遺跡診斷WordPress效能問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
哪些常見問題會導致PHP會話失敗?哪些常見問題會導致PHP會話失敗?Apr 25, 2025 am 12:16 AM

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

您如何在PHP中調試與會話相關的問題?您如何在PHP中調試與會話相關的問題?Apr 25, 2025 am 12:12 AM

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

如果session_start()被多次調用會發生什麼?如果session_start()被多次調用會發生什麼?Apr 25, 2025 am 12:06 AM

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

您如何在PHP中配置會話壽命?您如何在PHP中配置會話壽命?Apr 25, 2025 am 12:05 AM

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的優點是什麼?使用數據庫存儲會話的優點是什麼?Apr 24, 2025 am 12:16 AM

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

您如何在PHP中實現自定義會話處理?您如何在PHP中實現自定義會話處理?Apr 24, 2025 am 12:16 AM

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

什麼是會話ID?什麼是會話ID?Apr 24, 2025 am 12:13 AM

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

您如何在無狀態環境(例如API)中處理會議?您如何在無狀態環境(例如API)中處理會議?Apr 24, 2025 am 12:12 AM

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具