Cum să identificați blocajele de performanță WordPress cu New Relic

New Relic APM este un instrument puternic care se infiltrează în funcționarea interioară a unui site web WordPress pentru a identifica pluginuri, fișiere de șabloane tematice, interogări de baze de date, apeluri externe sau erori de codificare care provoacă probleme de performanță pe site-urile dumneavoastră.

În acest tutorial obiectivul nostru este simplu: să vă arătăm cum puteți utiliza New Relic APM pentru a remedia ceea ce vă afectează performanța site-ului dumneavoastră WordPress.

O prezentare rapidă a New Relic APM

Instalați New Relic APM adăugând o extensie la PHP. Acea extensie ascultă fiecare cerere procesată de PHP și apoi trimite aceste informații înapoi la tabloul de bord New Relic. 

New Relic organizează apoi aceste informații într-o serie de diagrame și grafice pe care le puteți utiliza pentru a identifica și diagnostica problema care cauzează scăderea de performanțe pe site-ului dumneavoastră web. Este important să rețineți că New Relic nu este acceptat pe HHVM.

Prezentare generală

Prezentarea generală oferă o imagine rapidă a performanței generale a site-ului dumneavoastră web. Nu veți diagnostica probleme specifice de pe acest ecran, dar compilarea la îndemână care arată modul în care PHP, MySQL și apelurile externe colaborează vă pot indica contrariul.

Tranzacţii

Tab-ul tranzacții este cel mai util tab din New Relic

Învățați să folosiți și să interpretați tab-ul tranzacții și veți putea explora tranzacțiile lente pentru a identifica apelurile la baze de date, resursele externe sau blocajele de cod care vă încetinesc site-ul web. Un interes particular în vizualizarea tranzacțiilor trebuie acordat listei tranzacțiilor lente. 

Pentru a vedea această listă, derulați în jos în fila tranzacții și uitați-vă în partea de jos a paginii în dreapta.

WordPress Hooks

Tab-ul WordPress Hooks oferă o vizualizare a timpului consumat de toate funcțiile PHP declanșate prin intermediul acțiunilor WordPress. Aceste informații pot fi utile dezvoltatorilor experimentați care pot utiliza informațiile pentru a acționa înapoi de la un hook supraîncărcat pentru a identifica funcțiile care sunt lansate de hook-ul respectiv.

Plugin-uri și Teme WordPress

Tab-ul pluginuri și teme WordPress vă arată cât timp de procesare necesită pluginurile și tema activă. Dacă un singur plugin sau tema site-ului dumneavoastră necesită o cantitate mare de timp, această pagină vă poate ajuta să localizați rapid pluginul sau tema care cauzează problema.

Fiți precauți: tab-ul de pluginuri și teme WordPress din New Relic poate fi utilizat greșit foarte ușor.

Atunci când investigați o problemă de performanță a site-ului web, puteți fi tentat să efectuați în mod implicit prima verificare a acestei file și pur și simplu să dezactivați pluginul care consumă cel mai mult timp. 

Cu toate acestea, a face acest lucru înseamnă a ignora informațiile valoroase găsite în alte tab-uri din New Relic. Acest lucru este asemănător cu a trata simptomele, mai degrabă decât a investiga pentru a găsi și trata cauza principală.

Plugin-urile pot rula lent din cauza unei probleme de configurare greșită, cum ar fi un plugin de administrare a membrilor care rulează lent datorită utilizării unui număr de port SMTP incorect. Sau este posibil ca un plugin să nu fi fost dezinstalat corect. 

Acesta este tipul de informații pe care probabil le puteți obține prin investigarea unei tranzacții lente din tab-ul tranzacții și nu le veți rezolva niciodată prin simpla dezactivare a celui mai lent plugin, așa cum a raportat New Relic.

Așa că faceți-vă confortabil cu aceast tab, dar nu și cu excluderea celorlalte informații furnizate de New Relic.

Baza de date

Tab-ul bazelor de date vă permite să identificați tabelele de baze de date și tipurile de interogări care necesită cel mai mult timp. New Relic leagă aceste informații înapoi la tranzacțiile care efectuează aceste interogări. Puteți utiliza aceste informații pentru a identifica tabelele bazei de date care au nevoie de o optimizare și fișierele de șabloane care plasează o sarcină redusă în baza de date.

Servicii externe

Majoritatea site-urilor WordPress se bazează pe o serie de servicii externe:

  • Actualizările de pluginuri, teme și WordPress core sunt livrate de la wordpress.org, precum și de la dezvoltatorii de pluginuri și teme.
  • Multe plugin-uri se integrează cu API-urile terță parte, cum ar fi pluginul de optimizare a imaginilor Smush de la WPMU DEV (smushpro.wpmudev.org).
  • Pluginurile de chat sunt alimentate în general de servicii externe.
  • Multe site-uri sunt integrate cu platforme de social media pentru o prezentare și performanță optime atunci când conținutul este partajat în acele rețele.

Atunci când oricare dintre aceste servicii externe nu mai răspunde în timp util, poate duce la întreruperea întregului site web.

Tab-ul Servicii externe vă permite să vedeți rapid ce servicii externe consumă cel mai mult timp. Puteți utiliza aceste informații pentru a determina dacă este vorba despre o problemă de viteză (serviciul răspunde lent) sau cantitate (există prea multe apeluri către sursa externă) și în acest fel să luați măsurile necesare, în cunoștință de cauză, pentru a putea rezolva problema.

Analiza erorilor

Fila Analiza erorilor raportează erorile PHP întâlnite la încărcarea site-ului dumneavoastră WordPress. Erorile sunt grupate în clase, astfel încât să puteți vedea rapid câte tipuri diferite de erori sunt generate. 

De asemenea, erorile sunt legate de tranzacțiile reale care au generat erorile. Dacă selectați o eroare specifică, puteți vedea, de asemenea, o urmă completă a stivei pentru tranzacția care a generat eroarea.

Gândiți-vă la analiza erorilor ca la un jurnal de eroare PHP mai bine organizat. Se poate dovedi de neprețuit atunci când încercați să urmăriți fișierele care generează erori PHP și tranzacțiile în care apar aceste erori.

Afla si  Cum remediezi eroarea 521 cu WordPress și Cloudflare

Debugging pentru pagini cu încărcare lentă

Cea mai frecventă problemă pentru care echipa noastră folosește New Relic pentru acțiunile de debuging este reprezentată de cazul unei anumite pagini sau al unor anumite procese care necesită un timp excepțional de lung pentru a se încărca. Când se întâmplă acest lucru, fila Tranzacții din New Relic APM este aproape sigur primul loc din care trebuie să porniți.

Procesul pe care va trebui să-l urmați pentru a diagnostica o pagină  și probleme de încărcare lentă este destul de simplu:

  1. Duplicați tranzacția lentă.
  2. Găsiți tranzacția în lista tranzacțiilor lente din New Relic.
  3. Examinați rezumatul tranzacției și urmăriți detaliile pentru a determina cauza performanței lente.

Pasul 1: Duplicați tranzacția

Să ne uităm la un exemplu. 

În acest exemplu, clientul nostru se lovește de încărcarea lentă de fiecare dată când este încărcată o postare individuală pe blog. Toate celelalte pagini se încarcă normal, dar postările individuale au nevoie de câteva secunde în plus pentru a se încărca.

Așadar, primul pas este duplicarea problemei. În acest caz, asta înseamnă să vizitați o singură postare pe blog de câteva ori pentru a vă asigura că New Relic surprinde datele necesare.

Notă: Dacă site-ul dumneavoastră utilizează memoria cache a paginilor, care este încorporată în platforma hostului dumneaoastră va trebui să ștergeți memoria cache între fiecare încărcare a paginii. În caz contrar, veți sfârși încărcarea paginii din cache, mai degrabă decât până când WordPress va genera pagina.

Pasul 2: Găsiți tranzacția lentă

După ce ați dublat tranzacția lentă de câteva ori, vă îndreptați către New Relic și selectați fila Tranzacții. Apoi derulați în jos până când vedeți lista tranzacțiilor lente din partea inferioară dreaptă a tabloului de bord New Relic.

Faceți click pe tranzacția pe care o depanați pentru a vedea detaliile.

Pasul 3: Examinați Rezumatul tranzacțiilor și Detaliile urmăririi

După ce selectați tranzacția, va fi afișat un rezumat al tranzacției

Rezumatul vă permite să vedeți o imagine de ansamblu a componentelor care au contribuit la timpul de procesare a tranzacției. 

În cazul tranzacției noastre de exemplu, un apel către o resursă externă, www.googleapis.com, este responsabil pentru 5.000 de milisecunde dintr-o tranzacție care a necesitat în total 5.350 de milisecunde pentru a fi finalizată.

În timp ce acestea sunt informații utile, tab-ul trace details vă va oferi detaliile de care aveți nevoie pentru a vedea exact ce se întâmplă..

Tab-ul Trace details oferă o cascadă ierarhică pas cu pas care arată funcția, interogările de baze de date și apelurile externe prin care PHP funcționează pe măsură ce generează pagina.

În cazul tranzacției noastre de exemplu, detaliile de urmărire relevă faptul că un apel către o adresă URL de analiză Google ține pe loc procesul. Dacă lucrăm înapoi din această solicitare, este inițiată o funcție PHP numită gapp_get_post_pageviews. 

O căutare rapidă pe Google pentru acea tranzacție arată că această tranzacție face parte din pluginul Google Analytics Post Pageviews. 

Acest plugin este instalat pe site și este folosit pentru a adăuga un contor de vizualizare la o sticky header bar.

New Relic ne-a permis doar să izolăm contorul de vizualizări din sticky header bar ca fiind componenta principală care contribuie la încărcarea lentă a postărilor unice de blog pe site-ul în cauză. 

Acum, proprietarul acestui site știe exact ce componentă să țintească în încercarea de a rezolva  problema de încărcare lentă a postărilor individuale ale blogului cu care se confruntă site-ul web.

Remedierea încetinirii generale

Cel de-al doilea cel mai frecvent tip de problemă este o reclamație cum că întregul site-ul se încarcă încet. 

Când fiecare tranzacție necesită mult timp pentru a se încărca, cel mai probabil se întâmplă unul dintre următoarele trei lucruri:

  • Site-ul este înfometat după resursele serverului.
  • Un plugin sau o temă activă provoacă probleme.
  • Baza de date a site-ului se luptă să țină pasul cu rata interogărilor.

Pentru a rezolva aceste probleme firmele serioase de hosting alocă CPU și RAM după cum este necesar și gestionează sarcina generală pe mașinile lor pentru a se asigura că există o mulțime de resurse de server disponibile atunci când site-urile dumneavoastră au nevoie de ele. Cu toate acestea, în cazul în care site-ul este înfometat după resurse CPU sau RAM, acest lucru poate provoca o încetinire generală pe care New Relic nu o va pune pe resurse unice.

Așadar, dacă observați o încetinire generală și New Relic indică faptul că fiecare parte a site-ului contribuie, verificați nivelul de încărcare de pe serverul dumneavoastră pentru a vedea dacă lipsesc resursele necesare.

Dacă site-ul dumneavoastră are acces la o mulțime de resurse de server, atunci următoarele locuri pe care veți dori să le verificați pentru a diagnostica încetinirea generală includ fila Plugin-uri și teme WordPress, fila Servicii externe și fila Baze de date.

Încetinirea generală cauzată de un plugin

Atunci când un plugin provoacă încetinirea generală, simptomele vor varia în funcție de activitatea pe care o efectuează pluginul. Cu toate acestea, în multe cazuri, veți vedea că un plugin lent va afecta fiecare pagină a unui site WordPress.

Imediat puteți vedea că pluginul respectiv consumă mult mai mult timp decât cel mai lent plugin.

Când vedeți astfel de date, poate fi tentant să renunțați imediat la plugin acesta fiind slab codificat sau cumva ineficient. Deși acest lucru este uneori justificat, nu este cazul întotdeauna. Configurarea greșită a plugin-urilor, încetinirea bazei de date sau resursele externe care răspund lent, pot cauza consumul de mult timp provocat de un plugin.

Așadar, atunci când vedeți un plugin care răspunde lent, este bine să verificați mai multe tab-uri și categorii de informații din New Relic pentru a găsi informații suplimentare. Toate tranzacțiile, bazele de date și resursele externe ar trebui verificate înainte de a decide că dezactivarea pluginului este cea mai bună sau unica cale de soluționare a problemei.

Încetinirea generală cauzată de serviciile externe

Dacă un site se bazează pe un apel către un serviciu extern pentru a genera vizualizări de pagină, iar acest serviciu nu mai răspunde sau are nevoie de mult timp pentru a răspunde, rezultatul poate fi un site WordPress care încetează complet încărcarea.

Dacă facem lucrurile pas un pas mai departe și analizăm o tranzacție lentă pentru acest site, putem vedea că un apel extern pare să verifice starea licenței pluginului respectiv, ceea ce sugerează că licența pentru acest plugin special a expirat.

 

Așteptăm sugestii și păreri din partea dvs.

      Lasă un comentariu

      TopGazduire
      Login/Register access is temporary disabled