Știți deja că New Relic oferă metrici de performanță adânci pentru aplicația Java, .NET, PHP, Python sau Ruby. Dar sunteți familiarizat cu caracteristicile de putere care vă pot aduce cunoștințele despre aplicația dvs. la un nou nivel? Nu lăsa numele să te păcălească. În timp ce aceste caracteristici au putere serioasă, ele sunt ușor de început. În acest tutorial, vă voi pune în mișcare trei noi caracteristici noi de Relic pe care ar trebui să le folosiți astăzi.
Una dintre cele mai puternice caracteristici disponibile dezvoltatorilor Ruby este Modul dezvoltator.
Modul de dezvoltatori vă oferă vizibilitate ridicată în tranzacțiile care se execută pe mașina dvs. de dezvoltare locală.
Veți putea vedea imediat urmări detaliate ale tranzacțiilor, inclusiv timpii de răspuns, apelurile metodelor individuale și interogările SQL. Modul de dezvoltatori sare direct la blocul de cod care se execută, ceea ce nu puteți face în mod normal rpm.newrelic.com teren.
În loc să vorbiți despre Modul dezvoltator, hai să ne aruncăm cu gura și să aruncăm o privire asupra lui în acțiune. După instalarea aplicației New Relic în aplicație și făcând clic pe câteva acțiuni, veți avea o listă de tranzacții pe care să o explorați http: // localhost: 3000 / newrelic
.
Dați clic pe una dintre adresele URL din listă și veți obține o rezumat vizualizarea întregii cereri.
Din această vizualizare, puteți vedea fiecare pas din cerere, de la randarea șablonului până la timpul real SQL. În exemplul de mai sus, puteți vedea că 53% din timpul solicitat a fost cheltuit pentru redarea show.html.erb
șablon. Acesta este un loc excelent pentru a implementa un fragment de cache pentru a accelera cererea.
De la Detaliu (după cum se arată mai jos), puteți explora fiecare etapă a solicitării, pornind de la controlerul și acțiunea care se numește, prin fiecare metodă suplimentară, șablon și interogare SQL. Faceți clic pe o linie ca Utilizator # find_by_sql
vă va duce la linia exactă de cod care a făcut această metodă apel (mai jos, mai jos).
În cele din urmă, puteți vedea fiecare interogare SQL pe care o cerere o face prin vizualizarea SQL vedere. De acolo, puteți observa orice cereri SQL duplicate pe care le-ați fi putut face și mergeți direct la linia de cod care o creează. Sau, puteți vizualiza informații detaliate despre declarație pentru a explora revizuirea aprofundată a interogării pentru informații despre numărul de tabele utilizate, rândurile scanate și indexurile accesate.
Detaliile detaliate despre performanța dvs., până la linia de cod, sunt neprețuite în timpul dezvoltării. Puterea Modul dezvoltator poate fi într-adevăr apreciat doar prin utilizarea acestuia, deci, dacă doriți, înscrieți-vă pentru un Cont gratuit de 30 de zile Pro și încercați-l.
Agentul New Relic colectează un număr mare de valori despre aplicația dvs. cu foarte puține eforturi, dar cunoașterea modului în care o aplicație este performantă din punct de vedere tehnic nu este întreaga imagine. Trebuie să știți cum arată performanțele afacerii dvs. în aplicația dvs. Valorile personalizate, cum ar fi valoarea comenzilor, încercările de conectare și înregistrările / înregistrările pot fi colectate în cadrul New Relic și comparate cu performanța tehnică a aplicației dvs..
Metricile personalizate sunt disponibile în toate cele cinci limbi acceptate: Java, .NET, PHP, Python și Ruby.
Mai jos este un exemplu de metric personalizat care utilizează agentul Python, dar conceptele sunt aceleași pentru celelalte limbi.
După cum puteți vedea în exemplul de mai sus, trimitem una din cele două valori personalizate ori de câte ori este procesată o comandă. În cazul în care comanda este reușită, trimitem valoarea dolarului ordinului. Sau dacă comanda eșuează, în schimb trimitem un contor. Înregistrarea unor valori personalizate, cum ar fi acestea, poate oferi o înțelegere mai profundă a impactului pe care performanța aplicației dvs. îl are asupra valorilor dvs. de afacere. În cazul comenzilor nereușite, prin utilizarea de valori personalizate, puteți observa probleme mai devreme când observați o creștere a indicatorilor care nu reușesc (de exemplu, procesorul dvs. de plată este în jos).
Puteți utiliza și valori personalizate pentru înregistrarea datelor de sincronizare. Acesta este un mod excelent de monitorizare a timpului de răspuns al unui serviciu extern pe care vă depindeți.
Valorile personalizate trebuie să aibă întotdeauna un nume care începe cu Personalizat/*
pentru a evita orice coliziune a spațiului de nume cu metricii agentului nativ. Odată ce aveți aceste valori personalizate, puteți obține o vizibilitate reală prin combinarea mai multor diagrame native cu diagramele valorilor personalizate pe o Tabloul de bord personalizat. Dacă nu sunteți deja, ar trebui să începeți să colectați valorile esențiale pentru afacerea dvs. cu un cont Pro gratuit de 30 de zile.
Cu siguranță ar fi bine să știți dacă aplicația dvs. va fi capabilă să reziste la o creștere bruscă a traficului înainte de a vă atinge de fapt prima pagină a Hacker News. Dar cunoașterea componentei aplicației dvs. ar putea fi dificilă. Va fi aplicația în sine? Stratul bazei dvs. de date? Sau poate chiar utilizarea procesorului va fi copleșită?
Funcția finală de alimentare pe care ar trebui să o utilizați astăzi este suita de rapoarte de analiză a scalabilității care vă arată performanța aplicației. Într-o lume ideală, performanța aplicației trebuie să fie destul de stabilă pe măsură ce sarcina crește pe parcursul zilei. Puteți vedea în diagrama de mai jos că cererile pe minut (axa X) cresc, timpul de răspuns al aplicației rămâne stabil (axa Y).
Dacă, pe de altă parte, aplicația dvs. nu este echipată să scadă cu creșteri ale cererii, atunci veți vedea o diagramă cu o panta abrupta ca cea de mai jos. Aici puteți vedea că, pe măsură ce crește numărul de solicitări, timpul de răspuns al bazei de date crește, de asemenea, dramatic.
Aceste tipuri de tendințe sunt foarte greu de observat fără o astfel de vizualizare bogată. În mod optim, doriți ca timpul de răspuns să crească în mod fracțional cu cererile crescute. Dacă observați că timpul de răspuns al aplicației crește geometric cu creșterea, atunci este timpul să vă optimizați. Din moment ce nu știți niciodată când cererea dvs. va trebui să scară, este important să țineți cont de scalabilitatea acesteia pe măsura creșterii. Unelte precum rapoartele de analiză a scalabilității și capacități de analiză a capacității reprezintă o modalitate foarte bună de a face cu ușurință monitorizarea performanței o parte din rutina dvs..
Dacă nu ați făcut deja acest lucru, vă puteți înscrie pentru un cont gratuit de 30 de zile la New Relic pentru a încerca aceste și multe alte caracteristici de alimentare care vor menține aplicația dvs. la maximum.