PHP-Anwendungsüberwachung: Tools und Bibliotheken zur Leistungsverfolgung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

PHP-Anwendungsüberwachung: Tools und Bibliotheken zur Leistungsverfolgung



Die Entwicklung von PHP-Anwendungen ist nur die eine Hälfte der Arbeit. Für den stabilen Betrieb einer Website oder eines Webdienstes ist eine kontinuierliche Überwachung erforderlich: Verfolgung von Fehlern, Skriptausführungszeiten, Serverlast und Speichernutzung. In diesem Artikel betrachten wir die wichtigsten Tools und Bibliotheken zur Überwachung von PHP-Anwendungen, die Ihnen helfen, Probleme schnell zu finden und zu beheben.



Warum ist die Überwachung von PHP-Anwendungen wichtig?

Die Überwachung ermöglicht:

  • Fehler zu erkennen und zu protokollieren (fatale Fehler, Warnungen, Ausnahmen).
  • Die Leistung zu analysieren: Ausführungszeit von Anfragen, Engpässe im Code.
  • Die Last zu verfolgen: Anzahl der Anfragen, CPU- und Speichernutzung.
  • Benachrichtigungen über kritische Ausfälle in Echtzeit zu erhalten.


Ohne Überwachung riskieren Sie, erst von Benutzern von einem Problem zu erfahren, was zu Traffic- und Reputationsverlust führen kann.



Wichtige Tools für die Überwachung



1. Xdebug — Profiling und Debugging

Xdebug ist eine Erweiterung für PHP, die Profiling-, Tracing- und Debugging-Funktionen für Code bietet. Es ist nicht für die Produktionsumgebung gedacht, aber in der Entwicklungs- und Testphase unverzichtbar.



Hauptfunktionen:

  • Tracing von Funktionsaufrufen.
  • Profiling mit Ausgabe im Cachegrind-Format (analysierbar mit KCachegrind oder Webgrind).
  • Interaktives Debugging mit IDEs (z. B. PhpStorm).


Beispiel zum Aktivieren des Profilings:

// In php.inixdebug.mode = profilexdebug.output_dir = /tmp/profilingxdebug.start_with_request = yes


Nach dem Start der Anwendung erscheinen Profiling-Dateien im angegebenen Verzeichnis. Diese können in einem Visualisierer geöffnet werden, um zu sehen, welche Funktionen die meiste Zeit beanspruchen.



2. Sentry — zentrale Fehlererfassung

Sentry ist eine beliebte Plattform für Echtzeit-Fehlerüberwachung. Sie unterstützt PHP und viele andere Sprachen. Die Bibliothek sentry/sentry lässt sich leicht in jedes Projekt integrieren.



Installation mit Composer:

composer require sentry/sentry


Beispiel einer grundlegenden Integration:

<?phprequire_once 'vendor/autoload.php';

use Sentry\\SentrySdk;use Sentry\\State\\Hub;use Sentry\\ClientBuilder;

$client = ClientBuilder::create(['dsn' => 'https://your-dsn@sentry.io/1234567'])->getClient();SentrySdk::getCurrentHub()->bindClient($client);

// Beispiel: Ausnahme protokollierentry { throw new \\RuntimeException('Testfehler');} catch (\\Throwable $e) { \\Sentry\\captureException($e);}


Sentry sammelt automatisch den Aufrufstapel, die Umgebung, Anfragedaten und sendet Benachrichtigungen per E-Mail, Slack oder Telegram.



3. Blackfire — Leistungsprofiling

Blackfire.io ist ein leistungsstarkes Tool zum Profiling von PHP-Anwendungen. Es zeigt nicht nur die Ausführungszeit, sondern auch den Speicherverbrauch, die Anzahl der SQL-Abfragen, Aufrufe externer APIs und vieles mehr.



Installation der Erweiterung:

pecl install blackfire


Beispiel zur Verwendung im Code:

<?php// Profiling starten$probe = \\BlackfireProbe::start('profile_name');

// Ihr Code$data = expensiveFunction();

// Stoppen\\BlackfireProbe::stop($probe);


Die Ergebnisse werden in der Weboberfläche von Blackfire als Aufrufgraph mit Details zu jeder Funktion angezeigt.



4. PHP Error Log — integrierte Protokollierung

Vergessen Sie nicht die integrierten Funktionen von PHP. Die Konfiguration der Fehlerprotokollierung ist ein grundlegender, aber wichtiger Schritt.



Beispielkonfiguration in php.ini

Empfehlungen