新聞中心

成都創(chuàng)新互聯(lián)憑借專業(yè)的設計團隊扎實的技術支持、優(yōu)質(zhì)高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站設計、網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都10余年的網(wǎng)站建設設計經(jīng)驗,為成都1000多家中小型企業(yè)策劃設計了網(wǎng)站。
New Relic APM是一個強大的工具,可以深入了解wordpress網(wǎng)站的內(nèi)部工作原理,以查明插件、主題模板文件、數(shù)據(jù)庫查詢、外部調(diào)用或?qū)е驴蛻艟W(wǎng)站性能問題的編碼錯誤。
然而,讓New Relic運行只是一個開始。如果您從未使用過New Relic APM(即使您使用過),您可能很難充分利用這個強大的工具。在本教程中,我們將向您展示如何使用New Relic APM來診斷和修復WordPress站點上的性能問題。
New Relic APM概覽
New Relic APM
那么什么是New Relic APM?就我們的目的而言,以下定義適合:
New Relic APM是一個Web應用程序,可提供有關WordPress站點性能的詳細信息。
您可以通過向PHP添加擴展來安裝New Relic 。該擴展程序偵聽PHP處理的每個請求,然后將該信息發(fā)送回New Relic儀表板。然后,New Relic將該信息組織成一系列圖表和圖形,您可以使用它們來診斷網(wǎng)站的性能問題。需要注意的是,HHVM不支持New Relic。
讓我們快速瀏覽一下New Relic的主要數(shù)據(jù)可視化。
概述
New Relic APM概述
概覽提供了網(wǎng)站整體性能的快速快照。您不會從該屏幕診斷特定問題,但顯示PHP、MySQL和外部調(diào)用如何協(xié)同工作的便捷編譯可以為您指明正確的方向。
了解有關APM概述頁面的更多信息。
事務
New Relic Transactions選項卡
事務(Transactions)選項卡是New Relic中最有用的選項卡。
學會喜歡事務選項卡,您將能夠深入了解緩慢的事務,以識別數(shù)據(jù)庫調(diào)用、外部資源或降低站點速度的代碼瓶頸。事務視圖中特別有趣的是慢Transactions列表。要查看列表,請向下滾動到事務選項卡的底部,然后查看頁面的右下方。
New Relic Transactions跟蹤
在這里,您將找到New Relic捕獲的最慢事務的列表。我們現(xiàn)在不會在此部分上花費更多時間,但稍后我們將解釋如何使用此部分來診斷您網(wǎng)站的問題。
了解有關New Relic APM事務頁面的更多信息。
WordPress鉤子
WordPress鉤子
WordPress掛鉤選項卡提供了通過WordPress操作掛鉤觸發(fā)的所有PHP函數(shù)消耗的時間的可視化。此信息對有經(jīng)驗的開發(fā)人員很有用,他們可以使用這些信息從重載的鉤子中逆向工作,以識別由鉤子觸發(fā)的函數(shù)。
WordPress插件和主題
WordPress插件和主題
WordPress插件和主題選項卡顯示插件和活動主題消耗了多少PHP處理時間。如果單個插件或您的站點主題消耗了大量時間,此頁面可以幫助您快速找到導致問題的插件或主題。
需要注意的是:New Relic中的WordPress插件和主題選項卡最容易被濫用。
在調(diào)查網(wǎng)站性能問題時,很容易默認首先檢查此選項卡,然后簡單地停用最耗時的插件。然而,這樣做是忽略了在New Relic其他地方發(fā)現(xiàn)的有價值的信息。這類似于治療癥狀,而不是挖掘并找到根本原因。
由于錯誤配置問題,插件可能運行緩慢,例如由于使用了不正確的SMTP端口號,成員資格管理插件運行緩慢?;蛘卟寮赡軟]有被正確卸載。這是您可能通過在“事務”選項卡中鉆取緩慢交易獲得的信息類型,并且您永遠無法通過簡單地停用New Relic報告的最慢的插件來解決問題。
因此,請熟悉此選項卡,但不要排除New Relic提供的其余信息。
數(shù)據(jù)庫
New Relic MySQL概述
數(shù)據(jù)庫選項卡,您可以識別的查詢占用了大部分時間的數(shù)據(jù)庫表和類型。New Relic將此信息與進行這些查詢的事務聯(lián)系起來。您可以使用此信息來識別可能需要優(yōu)化的數(shù)據(jù)庫表和對數(shù)據(jù)庫施加過大負載的模板文件。
外部服務
New Relic外部服務
大多數(shù)WordPress網(wǎng)站依賴于許多外部服務:
- 插件、主題和核心更新由wordpress.org以及插件和主題開發(fā)人員提供。
- 許多插件與第三方API集成,例如WPMU DEV的Smush圖像優(yōu)化插件(來自上面截圖的smushpro.wpmudev.org)。
- 聊天插件通常由外部服務提供支持。
- 許多站點都與社交媒體平臺集成,以便在這些網(wǎng)絡上共享內(nèi)容時實現(xiàn)最佳呈現(xiàn)和性能。
當這些外部服務中的任何一個停止及時響應時,它可能會使您的整個網(wǎng)站崩潰。
在外部服務選項卡可以讓你快速查看哪些外部服務占用了大部分的時間。然后,您可以使用該信息來確定是速度問題(服務響應緩慢)還是數(shù)量問題(對外部源的調(diào)用過多),并努力解決問題。
錯誤分析
New Relic錯誤分析
錯誤分析選項卡報告同時加載你的WordPress網(wǎng)站遇到的PHP錯誤。錯誤按類別分組,以便您可以快速查看正在生成多少不同類型的錯誤。錯誤還與產(chǎn)生錯誤的實際事務相關聯(lián)。如果您選擇特定錯誤,您還可以看到生成錯誤的事務的完整堆棧跟蹤。
將錯誤分析視為組織得更好的PHP錯誤日志。當試圖追蹤產(chǎn)生PHP錯誤的文件和發(fā)生這些錯誤的事務時,它可以證明是無價的。
調(diào)試加載緩慢的頁面
我們使用New Relic進行調(diào)試的最常見問題是特定頁面或進程加載時間過長的情況。發(fā)生這種情況時,New Relic APM中的事務選項卡幾乎肯定是第一個去的地方。
您需要遵循的過程來診斷加載緩慢的頁面非常簡單:
讓我們看一個例子,以及如何使用New Relic來診斷問題。
第1步:復制事務
讓我們看一個例子。在這個例子中,我們的客戶端在每次加載單個博客文章時都會看到加載緩慢。所有其他頁面正常加載,但個別文章需要幾秒鐘才能加載。
所以第一步是復制問題。在這種情況下,這意味著訪問單個博客文章幾次以確保New Relic捕獲必要的日期。
第2步:找到慢事務
多次復制慢速事務后,前往New Relic并選擇Transactions選項卡。然后向下滾動,直到您在New Relic儀表板的右下方看到慢事務列表。
New Relic事務緩慢
單擊您正在調(diào)試的事務以查看詳細信息。
第3步:查看事務摘要和跟蹤詳細信息
選擇事務后,將顯示事務摘要。
慢事務總結(jié)
通過摘要,您可以查看對事務處理時間有貢獻的組件的快照概覽。在我們的示例事務中,對外部資源www.googleapis.com的調(diào)用負責5,000毫秒的事務,該事務總共需要5,350毫秒才能完成。
雖然這是有用的信息,但跟蹤詳細信息選項卡將提供我們需要準確了解正在發(fā)生的事情的詳細信息。
慢事務跟蹤詳細信息
跟蹤詳細信息選項卡提供了一個分層的分步瀑布圖,顯示了PHP在生成頁面時處理的函數(shù)、數(shù)據(jù)庫查詢和外部調(diào)用。
在我們的示例事務中,跟蹤詳細信息顯示對Google分析URL的調(diào)用是阻止該過程的原因。如果我們從那個請求向后工作,它會啟動一個名為gapp_get_post_pageviews的PHP函數(shù)。對該交易的快速Google搜索顯示它是Google Analytics Post Pageviews插件的一部分。該插件安裝在站點上,用于向粘性標題欄添加查看計數(shù)器。
New Relic剛剛允許我們將粘性標題欄中的查看計數(shù)器隔離為主要組件,導致在相關站點上緩慢加載單個博客文章。現(xiàn)在,該站點的所有者確切地知道在嘗試解決單個博客文章加載緩慢的問題時要針對哪個組件。
修復整體緩慢
我們?yōu)榭蛻襞挪榈牡诙N最常見的問題是抱怨整個網(wǎng)站加載緩慢。當每個事務都需要大量時間來加載時,可能會發(fā)生以下三件事之一:
- 該站點缺乏服務器資源。
- 插件或活動主題導致問題。
- 站點數(shù)據(jù)庫正在努力跟上查詢速度。
站點缺乏CPU或RAM,這可能會導致整體緩慢,New Relic不會固定在任何單個資源上。因此,如果您確實看到整體緩慢并且New Relic表明站點的每個部分都在做出貢獻,請檢查服務器上的負載,看看是否是服務器資源短缺造成的。
如果您的站點可以訪問大量服務器資源,那么您需要檢查以診斷整體緩慢的下一個位置包括WordPress插件和主題選項卡、外部服務選項卡和數(shù)據(jù)庫選項卡。
以下是可以使用這些選項卡中的每一個進行診斷的整體緩慢的示例。
插件導致的整體緩慢
當插件導致整體緩慢時,癥狀會根據(jù)插件執(zhí)行的活動而有所不同。但是,在許多情況下,您會發(fā)現(xiàn)一個緩慢的插件會影響WordPress網(wǎng)站的每個頁面。對于您在下圖中看到的數(shù)據(jù)的站點,在站點的每個前端頁面上都觀察到整體緩慢。
以下是New Relic對網(wǎng)站插件性能的評價。
WordPress插件
您可以立即看到adinjector插件消耗的時間是下一個最慢插件的15倍。
當您看到這樣的數(shù)據(jù)時,您可能會立即認為該插件編碼不當或無效。雖然有時是這種情況,但并非總是如此。插件配置錯誤、數(shù)據(jù)庫緩慢或響應緩慢的外部資源可能會導致插件消耗大量時間。
因此,當您看到響應緩慢的插件時,最好檢查New Relic中的其他幾個屏幕以查找其他信息。在決定停用插件是最好的還是唯一的方法之前,應該檢查事務、數(shù)據(jù)庫和外部資源。
外部服務造成的整體緩慢
如果網(wǎng)站依賴于對外部服務的調(diào)用來生成頁面瀏覽量,并且該服務停止響應或需要很長時間才能響應,則結(jié)果可能是WordPress網(wǎng)站完全停止加載。
前5名外部服務
上面的圖片來自制作上面的慢速插件屏幕截圖的同一站點。如您所見,有一個外部服務占等待外部服務所花費的總時間過大。
這個案例說明了為什么在得出結(jié)論之前需要結(jié)合查看信息。在這種情況下被調(diào)用的服務是在最后一步中確定的插件的開發(fā)者。
此信息為情況增加了一些細微差別。據(jù)說,問題不是插件的代碼。相反,看起來該插件對開發(fā)人員的網(wǎng)站進行了大量調(diào)用,而這些調(diào)用結(jié)合起來考慮會消耗大量處理時間。
如果我們更進一步并查看此站點的緩慢事務,我們可以看到此外部調(diào)用似乎正在檢查相關插件的許可證狀態(tài),這表明此特定插件的許可證可能已過期.
無論如何,我們現(xiàn)在可以告知該站點的所有者,adinjector插件導致性能下降,而性能下降是由于反復調(diào)用開發(fā)人員的網(wǎng)站以檢查插件的許可證狀態(tài)。
數(shù)據(jù)庫不堪重負導致整體緩慢
優(yōu)化不當?shù)臄?shù)據(jù)庫可能會導致WordPress網(wǎng)站的整體運行緩慢。我們始終推薦的一種優(yōu)化是將您的數(shù)據(jù)庫從MyISAM轉(zhuǎn)換為InnoDB。在New Relic中,這種與數(shù)據(jù)庫相關的緩慢很可能會出現(xiàn)在兩個地方:
- 首先,您將在概覽中看到大量的MySQL活動。
- 其次,您會在數(shù)據(jù)庫選項卡中看到一個或多個數(shù)據(jù)庫表占用了大量時間。
從概覽屏幕開始,一個有困難數(shù)據(jù)庫的站點可能看起來像這樣:
網(wǎng)絡事務耗時
要更好地處理導致問題的數(shù)據(jù)庫表或查詢,請前往數(shù)據(jù)庫選項卡。
MySQL概述
數(shù)據(jù)庫選項卡將指出消耗最多時間的表和查詢類型。如果您選擇列表中的條目之一,您可以看到更多詳細信息,包括一些示例查詢。
慢查詢 – wp_options表
在這種情況下,數(shù)據(jù)指向wp_options表中自動加載的數(shù)據(jù)。果然,對wp_options表的快速分析證實,從該表自動加載了近250MB的數(shù)據(jù),使該站點成為數(shù)據(jù)庫維護和優(yōu)化的明顯候選。查看我們關于如何優(yōu)化wp_options表和自動加載數(shù)據(jù)的更深入的文章。
小結(jié)
一旦您知道如何使用它,New Relic就可以成為識別WordPress網(wǎng)站上PHP性能瓶頸的寶貴工具。要充分利用New Relic,了解WordPress、了解每個選項卡報告的信息并了解所有信息之間的相互關系至關重要。
新聞標題:如何使用NewRelic找到WordPress性能瓶頸
網(wǎng)站路徑:http://m.5511xx.com/article/cccoisd.html


咨詢
建站咨詢
