Contact salesFree trial
Blog

Blackfire: eine vollständige Lösung für die Beobachtbarkeit

LeistungSchwarzfeuerBeobachtbarkeit
Teilen Sie
Dieser Beitrag ist auch auf Englische.

Hinweis: Blackfire ist die Upsun Observability-Lösung, die in jedem PHP- und Python-Projekt auf dem Upsun PaaS enthalten ist und das kontinuierliche Profiling Ihrer Go- und Node.js-Anwendungen ermöglicht.

Die Suche nach der perfekten Performance ist eine nie endende Reise. Sie ist nicht gewonnen, sobald der eine Engpass behoben ist, auch wenn sich das wie eine epische und glorreiche Schlacht anfühlen mag. Es ist ein ständiges Bemühen, Probleme schnell zu erkennen und zu beseitigen, bevor sie außer Kontrolle geraten, um die Leistung so reibungslos wie möglich zu halten.

Das wirft jedoch die Frage auf: Ist eine perfekte Leistung überhaupt möglich? Nun, Perfektion ist in keinem Bereich wirklich möglich. Aber man kann ihr sehr, sehr nahe kommen.

Ausarbeitung einer Beobachtungsstrategie für nahezu perfekte Leistung

Lassen Sie sich einen Schlachtplan einfallen! Oder besser noch, eine Beobachtbarkeitsstrategie. Diese Art von Plan ist entscheidend für Unternehmen, die in einer schnelllebigen und sich ständig verändernden Umgebung zuverlässige und leistungsstarke Software bereitstellen möchten.

Die Implementierung einer Überwachungs- und Beobachtungsstrategie ermöglicht es Unternehmen, einen proaktiven Ansatz für die Überwachung ihrer Systeme zu wählen, was ein weitaus besserer Ansatz ist, als auf das Auftreten von Problemen zu warten und dann darauf zu reagieren.

Blackfire bietet eine einzigartige und umfassende Überwachungs- und Beobachtbarkeitslösung, mit der Sie Ihre eigene Strategie entwickeln können, und das Beste daran ist, dass sie mit Upsun verfügbar ist.

Im Folgenden finden Sie die Faktoren einer möglichen Beobachtungsstrategie, die Sie anwenden können. Wenn Sie sich dafür entscheiden, ist es Ihre Aufgabe, einen Plan zu erstellen, der sowohl zu Ihrem Unternehmen als auch zu Ihren Codierungs- und Bereitstellungspraktiken passt.

Blackfire-Überwachung

Das Blackfire-Monitoring bietet einen Überblick über die Leistung einer Anwendung aus der Vogelperspektive, einschließlich des gesamten HTTP-Verkehrs, der standardmäßig überwacht wird. Auch die CLI kann mit einer einfachen Konfiguration instrumentiert werden.

Mit der Blackfire-Überwachung wissen Sie, wann und wo ein bestimmtes Problem aufgetreten ist, so dass Sie schnell darauf reagieren können. Sie können bis zu einer bestimmten Transaktion vordringen, um den Beitrag der verschiedenen verwendeten Dienste - wie Redis, Datenbank, HTTP usw. - zur Antwortzeitzu untersuchen .

Blackfire-Benachrichtigung

Damit Sie nicht den ganzen Tag auf einen Absturz warten müssen, können Sie Warnmeldungen einrichten, um benachrichtigt zu werden. Der Zugriff auf kritische Informationen muss nicht mit Ihrem bestehenden Arbeitsablauf kollidieren. Warnungen und Cooldowns werden an jeden Kanal weitergeleitet, den Sie bereits verwenden, z. B. E-Mail, Slack, Microsoft Teams oder andere Webdienste.

Blackfire-Profiler

Sobald eine Diagnose gestellt wurde, können Sie mit dem Blackfire Profilerso tief wie möglich in das Anwendungsverhalten eindringen , bis Sie die genauen Funktions- oder Dienstaufrufe gefunden haben, die für das Leistungsproblem verantwortlich sind. Mit dem Blackfire Profiler können Sie auch verstehen , warum sich Ihre Anwendung auf eine bestimmte Weise verhält.

Alle Ihre SQL-Abfragen und HTTP-Aufrufe werden identifiziert und zusammen mit den Aufrufdiagrammen und Zeitleistenansichten aufgelistet. Um die Überwachung und die Beobachtungsmöglichkeiten noch umfassender zu gestalten, bietet das Profil auch Empfehlungen, eine Liste von umsetzbaren Erkenntnissen und detaillierte Informationen über die Cache-Nutzung und -Konfiguration.

Blackfire-Testsuite

Sobald der Code eines Skripts optimiert ist, empfiehlt es sich, die Vorher- und Nachher-Profile zu vergleichen, um sicherzustellen, dass unsere Korrektur keine Seiteneffekte verursacht.

Bevor wir das Skript in die Produktion überführen, müssen wir noch eine weitere Sache erledigen: Tests schreiben.

Blackfire bietet eine umfangreiche Test-Suite. Benutzerdefinierte Assertions werden in einer .blackfire.yaml-Datei definiert und jedes Mal ausgewertet, wenn ein Profil ausgelöst wird. Dies erleichtert die Erkennung von Leistungsrückschritten.

Es gibt auch Integrationen mit PHPUnit, Behat, Symfony Functional Tests und Laravel Tests. Weitere Integrationen können dank der Blackfire PHP und Python SDKs vorgenommen werden .

Synthetische Überwachung

Die Performance der kritischen User Journeys Ihrer Anwendungen kann ebenfalls regelmäßig ausgewertet werden. Diese User Journeys sowie die Erwartungen an die einzelnen User Journeys können in Szenarien beschrieben werden.

Bei der Auswertung wird bei jedem Schritt eines jeden Szenarios ein Profil ausgelöst. Wie bei allen Profilen werden die zu den Anforderungen passenden Assertions ausgewertet. Ein Build-Report ist das aggregierte Ergebnis all dieser Profile.

Ein Build-Report ist ein praktisches Werkzeug, um den Zustand großer Teile einer Anwendung auf einmal zu überprüfen. Blackfire Builds können manuell, periodisch und über Webhooksausgelöst werden .

Wir können Ihnen nicht genug empfehlen, die neueste Generation von Blackfire Build in Ihre CI/CD-Pipelines zu integrieren. Solche Integrationen verhindern, dass eine Pull-Anfrage zusammengeführt oder Code in die Produktion eingebracht wird, wenn er die Leistung Ihrer Anwendung beeinträchtigt. So wird die Leistung Ihrer Anwendungen langfristig sichergestellt.

Automatisierte und regelmäßige Leistungstests, die in die CI/CD-Pipelines integriert werden, schützen die Anwendung vor Leistungseinbußen.

Dieser Artikel wurde ursprünglich von Thomas di Luccio auf Blackfire.ioveröffentlicht .

Dieses Video ansehen

Ihr größtes Werk
steht vor der Tür

Kostenloser Test
Discord
© 2025 Platform.sh. All rights reserved.