PHP – Die Macht der Performance

Wer kennt es nicht? Da entwickelt man ein System und muss später feststellen, dass an einigen Stellen die Performance in die Miesen geht – besonders wenn tausende Nutzer das System ausgiebig zerpflücken. Für Webentwickler gibt es nun eine sinnvolle und sehr gute Lösung: New Relic.

New Relic stellt eine serverseitige Erweiterung zur Verfügung, die ein bestehendes System (egal ob mit Framework oder selbstgeschrieben) hookt. Die Installation ist einfacher, als man es sich denkt. Je nach System (Linux/*nix, Windows,..) werden ein Paket installiert und eine kleine Konfiguration in der php.ini erstellt. Danach ist die Performance-Analyse bereit zum Einsatz.

Was bietet mir New Relic?

Eine Menge – hätte ich nie gedacht. Jeder Request, der durch den Server verarbeitet wird, wird durch New Relic untersucht und im Backend wird angezeigt, wo Probleme bestehen. Sowohl Datenbankabfragen als auch “langsame” Funktionen können schnell erkannt und ausgebessert werden. Weiter unten werde ich auf die Funktionen noch näher eingehen.

Was kostet es?

Ok, hier ist wieder das Problem, da viele “Nutzer” sich kostengünstige oder gar Opensource-Lösungen wünschen. New Relic bietet mehrere Abos an. Empfohlen wird von mir aber die Pro-Variante, da durch diese auch wirklich alle Details der Webapplikation eingesehen werden können. Der Spaß kostet 149,00 $ (umgerechnet ca. 112,00 €) pro Monat (je Server), es gibt aber eine Trial-Version, sodass man sich dies zuvor anschauen kann. Einen Blick ist es sicherlich wert.

Warum New Relic?

Ganz einfach: Wer die Performance seiner Seiten/Systeme steigern möchte und eine sehr gute Lösung sucht, ist mit New Relic mehr als bestens bedient. Ich bin schon Jahre lang auf der Suche nach einem Performance-/Analysetool, das mir viele Details so einfach wie möglich anzeigt, womit dann gearbeitet werden kann. Natürlich gibt es auch kostenlose Alternativen wie XDebug & Co., diese sind aber eher für Entwickler gedacht, die wirklich damit arbeiten und die Vorteile, aber auch die Nachteile kennen. Zudem ist die Installation eher zeitaufwändig und lästig – bis man dann anfangen kann, dauert es schon seine Zeit.

Die Funktionen

Ich bin mal so frei und zeige Euch nun, was für Funktionen bei New Relic zur Verfügung stehen:

Zeitmanagement

Ein Chart zeigt, wie lange die Wartezeit von PHP und MySQL ist. Da die Performance von den MySQL-Querys bereits um einiges verbessert wurde, sieht man in der Grafik leider nichts davon.

Wie bei allen Charts, kann per Klick der jeweilige Request eingesehen werden. Dort sind dann weitere Informationen zu finden – beispielsweise, warum der Request so lange benötigt hat.

Transaktionen

Jeder Request zeigt an, welche Dateien aufgerufen wurden und wie lange diese benötigt haben.

Das Ganze wird dann noch durch weitere Details abgerundet – wow! Man sieht sogar, welche Funktion in welcher Klasse am meisten Zeit beansprucht hat und kann diese dann ggf. noch weiter anpassen. Sehr sinnvoll!

Mapping

New Relic erstellt eine sogenannte “Map”, die zeigt, wie lange ein jeweiliger Bereich benötigt. Je nach System/Framework, kann die Map durchaus größer werden.

Auch externe Dienste werden hier mit aufgeführt, sofern diese genutzt werden. Sehr interessant, welche API dann die Seite bremst – so kann man nach Alternativen suchen und auch hier noch so einiges herausholen.

Datenbank

Sinnvoll finde ich persönlich auch diese Details. Hier wird gezeigt, welche Datenbankabfragen häufig genutzt werden und sogar “langsame Abfragen” werden angezeigt.

Perfekt, wenn man beispielsweise irgendwo Limitierungen der Querys vergessen hatte oder noch weitgehend eine Abfrage verbessern möchte.

Browserinformationen

Auch dies gehört mittlerweile zum Standard. New Relic zeigt nicht nur “einfache Informationen” über die jeweils genutzten Browser an, sondern auch, wie lange diese beim Laden der Seite gebraucht hatten.

Einige Browser unterstützen auch eine “Navigation Timing API” – vorzugsweise neuere Webbrowser. New Relic nutzt diese Schnittstelle um detailreiche Informationen vom Browser zu bekommen. Selbst die Ladezeit von DOM & Co werden dann (sofern verfügbar) dargestellt.

Server

Na, was macht denn unser Server so?

Mit New Relic lassen sich sogar detailreiche Serverinformationen einsehen. Egal ob CPU-Auslastung, RAM-Verbrauch oder gar Services/Prozesse, alles wird sehr informativ ausgegeben.

Selbst die Netzwerkauslastung wird in einem Chart untergebracht.

Fastzit

New Relic bringt sehr geniale Funktionen mit sich. Da New Relic sehr umfangreich ist, sollte man selber einen Blick hinein werfen.

Genial finde ich, dass New Relic zwar sehr umfangreich, aber dafür sehr leicht zu bedienen ist. Man kennt es ja: Da hat man ein Tool gefunden, aber es wirkt so etwas von überladen, dass man schon gar keine Lust mehr hat, es weiter zu verwenden. New Relic ist da hingegen ein Fingerschnippen – trotz großem Umfang perfekte Nutzerfreundlichkeit.

Kommentare (0)

Derzeit sind keine Kommentare vorhanden.

Kommentiere unsere Artikel

Damit du diesen Artikel kommentieren kannst, musst du registriert sein.