Monitoring PHP mit New Relic RPM
Ich merke gerade, dass ich noch gar nicht NewRelic vorgestellt habe. In PHP-Cloud-Diensten wie CloudControl oder PHPFog bekommt man direkt auch einen NewRelic-Account, sodass man es kostenlos nutzen und testen kann. Es ist eine Möglichkeit, die Performance von PHP-Scripten zu monitoren, also sowohl Webseiten als auch PHP-CLI-Aufrufe. Es werden neben der Ausführungszeit auch Speicherverbrauch, den Durchsatz (Requests pro Sekunde) und Datenbankqueries geloggt, PHP Errors werden zentral erfasst. Bei Problemen kann man via Email benachrichtig werden, und es werden auch Optimierungsempfehlungen und eine Skalierbarkeitsvorschau gegeben.
NewRelic lässt sich auch auf Produktivsystemen einsetzen, da es die Performance fast nicht beeinträchtigt, XDebug ist beispielsweise zur detaillierten Performance-Messung auf Produktivsystemen nicht geeignet, da es viel zu viel Performance kostet. Falls mehrere Webserver für eine Applikation zuständig sind können diese zusammengefasst werden. Aber auch andersrum ist es möglich, unterschiedliche Ordner auf einem Webserver voneinander zu trennen, sodass sie gesondert betrachtet werden können.
Die Installation ist denkbar einfach unter Linux: Eintrag in die apt-sources und danach apt-get install newrelic-php5
, schon ist die PHP-Erweiterung installiert und aktiviert. Diese Extension loggt die Daten in eine Datei, die von einem Dienst alle paar Sekunden gesammelt an die RPM-Server gesendet werden, wo man dann mit tollen Graphen und Listen alles fast in Echtzeit ansehen kann. Es können auch weitere Zugriffsaccounts angelegt werden, sodass mehrere Personen die Überwachung im Blick haben und analysieren können.
Ich werde wohl in einigen Projekten die Free Version nutzen, denn die anderen Versionen sind viel zu teuer, es reicht von 75 Dollar bis 200 Dollar pro Monat pro Server.
Hier noch einige Screenshots, auf denen man die unterschiedlichen Graphen sehen kann (das ist eine kleine Testinstallation von phpBB). Man kann sehr schnell mit einem Blick erkennen welche Scripte langsam sind, welche Datenbank-Queries am meisten Zeit brauchen, oder wenn ein Server aus dem Verbund schwächelt, und einiges mehr. Am besten selbst ausprobieren, die Lite-Version ist kostenlos.