Mit New Relic Performance ständig im Griff

Auf den Entwicklungs-Systemen sind zahlreiche Debugger- / Analyse-Tools im Einsatz. Sie bieten eine optimale Grundlage als Arbeitswerkzeugen für lokale Entwicklung. Bereits auf Staging werden sie zunehmend entfernt und spätestens in der Produktion haben sie nichts mehr zu suchen. Sie machen Systeme langsam und enthalten auch grosse Risiken. Z.B. ist es häufig einfacher ein System mit Entwickler-Tools zu hacken oder Entwickler-Ausgaben enthalten Informationen welche nicht für die Endbenutzer gedacht sind (information leakage).

Durch das Entfernen der Entwickler-Hilfsmittel in der Produktion, fehlen aber häufig such geeignete Hilfsmittel bei der Fehlersuche. Bestenfalls werden alle kritischen Parameter eines Systemes im produktiven Betrieb auch ständig überwacht. New Relic schliesst genau diese Lücke.

Echtzeit Performance Monitoring

New Relic bietet eine einzigartige Technologie für das Monitoring der Applikations-Performance. Es ist klar ein Enterprise-Tool, welches z.B. nicht auf Shared Hosting Umgebungen installiert werden kann. Dies wiederspiegeln auch die Listenpreise von 149USD pro Monat.

Es benötigt ein PHP Plugin und einen Server-Prozess (Agent). Das Tool überwacht jede PHP-Verarbeitung und zeichnet umfassende Informationen auf. Der Agent analysiert die Daten und entscheidet, welche Informationen an die SaaS-Lösung gesendet wird.

Im Dashboard auf http://rpm.newrelic.com sind dann in Echtzeit statistische Aufbereitungen zugänglich, allem voran Server-Antwortzeit, Fehlerrate, und Durchsatz.

Profiling

Die Spezialitäten von New Relic reichen aber viel weiter.

Alle Seitenabfragen werden nach totaler Rechenzeit geordnet als Transaktionen dargestellt. Wo am meisten Rechenzeit aufgewendet wird und wo sich somit Optimierung lohnt ist schnell ersichtlich. Die Abfragen werden in Komponenten zerlegt (Rechenzeit, Datenbank Antwortzeit, Externe Services, Memcache, ...). Ebenfalls wird in Drupal die Rechenzeit Modulen und Hooks zugeordnet, die Datenbank-Rechenzeit auf die verschiedenen Tabellen aufgeteilt und externe Services auf die verschiedenen Dienste/Hosts.

New Relic kann so oftmals in wenigen Minuten Schwachstellen aufzeigen, welche erst nach Stunden order Tagen Analyse identifiziert werden können. Wir empfehlen die Technologie deshalb speziell bei hochkomplexen Lösungen. Sie ermöglicht auch weniger erfahrenen Entwicklern die relevanten Faktoren schneller zu erfassen.

Unregelmässigkeiten erkennen

Einzelne unerwartet langsame Anfragen werden als "Trace" erfasst und können mit allen Details (Call graph, execution time aller funktionen, Ausgeführte SQL queries, ...) untersucht werden. Dies ist wertvoll um Unregelmässigkeiten zu erkennen welche sonst grösstwahrscheinlich unentdeckt geblieben wären.

Drupal 7 port

Ein Integrations-Modul für Drupal 6 existierte bereits. Dieses wurde aber seit mehr als einem halben Jahr nicht mehr weiter gepflegt. Wir haben uns entschieden, dieses Modul zu übernehmen und einen kompletten Port für Drupal 7 herauszugeben. Sämtliche Funktionen der alten Version wurden portiert und zusätzliche neue implementiert.

Die neuen Funktionen konzentrieren sich auf Aspekte der Qualitätssicherung. Im speziellen ist es neu möglich, Fehler (Watchdog, Exceptions) aus Drupal an New Relic zu übermitteln. Mit dem zusätzlichen Backtrace sind Ursachen für solche Fehler viel einfacher möglich als mit den Standard-Hilfsmitteln von Drupal 7.

Die neue Version des Modules wurde am 12. Juni publiziert und wird in zahlreichen Projekten bereits produktiv eingesetzt.

Mit dem Test-Account sind sogar die Pro-Features für eine eingeschränkte Zeit testbar. Testen Sie es auch!

http://newrelic.com/php/drupal

Eager to read more? Check related projects!