Contact salesFree trial
Blog

Blackfire : une solution complète d'observabilité

performanceFeu noirobservabilité
Share

Note : Blackfire est la solution d'observabilité d'Upsun incluse avec chaque projet PHP et Python sur le PaaS d'Upsun et alimentant le profilage continu de vos applications Go et Node.js.

La quête de la performance parfaite est un voyage sans fin. Elle n'est pas gagnée dès que ce goulot d'étranglement a été corrigé, même si cela peut ressembler à une bataille épique et glorieuse. Il s'agit d'un effort permanent pour identifier rapidement les problèmes et les résoudre avant qu'ils ne deviennent incontrôlables, afin que les performances soient aussi bonnes que possible.

Mais cela soulève la question suivante : une performance parfaite est-elle même possible ? Dans tous les domaines, la perfection n'est pas vraiment possible. Mais on peut s'en approcher de très près.

Élaborer une stratégie d'observabilité pour une performance presque parfaite

Élaborons un plan de bataille ! Ou mieux encore, une stratégie d'observabilité. Ce type de plan est essentiel pour les organisations qui cherchent à fournir des logiciels fiables et performants dans un environnement rapide et en constante évolution.

La mise en œuvre d'une stratégie de surveillance et d'observabilité permet aux organisations d'adopter une approche proactive de la surveillance de leurs systèmes, ce qui est bien mieux que d'attendre que les problèmes surviennent et d'y réagir.

Blackfire propose une solution unique et complète de surveillance et d'observabilité qui vous permet d'élaborer votre propre stratégie, et le plus intéressant, c'est qu'elle est disponible avec Upsun.

Vous trouverez ci-dessous les facteurs d'une stratégie d'observabilité possible que vous pouvez adopter. Si vous choisissez de l'accepter, votre mission est de construire un plan qui s'adapte à votre organisation ainsi qu'à vos pratiques de codage et de déploiement.

Surveillance Blackfire

La surveillance Blackfire offre une vue d'ensemble des performances d'une application, y compris tout le trafic HTTP qui est surveillé dans la boîte. Le CLI peut également être instrumenté avec une simple configuration.

La surveillance Blackfire vous permet de savoir quand et où un problème spécifique s'est produit afin de pouvoir y réagir rapidement. Il vous permet d'analyser une transaction spécifique afin d'explorer la contribution des différents services utilisés ( Redis, base de données, HTTP, etc.) au temps de réponse.

Alertes Blackfire

Comme vous ne resterez pas assis toute la journée à attendre qu'un crash se produise, vous pouvez configurer des alertes afin d'être prévenu. L'accès aux informations critiques ne doit pas entrer en conflit avec votre flux de travail actuel. Les alertes et les refroidissements sont transmis à tous les canaux que vous utilisez déjà, tels que le courrier électronique, Slack, Microsoft Teams ou d'autres services Web.

Profil Blackfire

Une fois le diagnostic établi, le profileur Blackfirevous permet d'approfondir autant que possible le comportement de l'application jusqu'à ce que vous localisiez la fonction exacte ou les appels de service qui sont responsables du problème de performance. Blackfire profiler vous permet également de comprendre pourquoi votre application se comporte d'une certaine manière.

Toutes les requêtes SQL et tous les appels HTTP sont identifiés et répertoriés dans les graphiques d'appels et les vues chronologiques. Pour rendre la surveillance et l'observation plus complètes, le profil fournit également des recommandations, une liste d'informations exploitables et des informations détaillées sur l'utilisation et la configuration du cache.

Suite de tests Blackfire

Une fois que le code d'un script est optimisé, une bonne pratique consiste à comparer les profils avant et après pour s'assurer que notre correction ne provoque pas d'effets secondaires.

Il reste encore une chose à faire avant de passer en production : écrire des tests.

Blackfire fournit une suite de tests étendue. Les assertions personnalisées sont définies dans un fichier .blackfire.yaml, et elles sont évaluées à chaque fois qu'un profil est déclenché. Cela facilite la détection des régressions de performance.

Il existe également des intégrations avec PHPUnit, Behat, Symfony Functional Tests, et Laravel tests. D'autres intégrations peuvent être réalisées grâce aux SDKPHP et Python de Blackfire .

Surveillance synthétique

La performance des parcours utilisateurs critiques de vos applications peut également être évaluée régulièrement. Ces parcours utilisateurs, ainsi que les attentes pour chacun d'entre eux, peuvent être décrits dans des scénarios.

Lors de l'évaluation, un profil est déclenché à chaque étape de chaque scénario. Comme pour tous les profils, les assertions correspondant aux demandes sont évaluées. Un rapport de construction est le résultat agrégé de tous ces profils.

Un rapport de construction est un outil pratique pour vérifier l'état de santé de grandes parties d'une application en une seule fois. Les builds de Blackfire peuvent être déclenchés manuellement, périodiquement et par le biais de webhooks.

Nous ne saurions trop vous recommander d'intégrer la dernière génération de Blackfire build dans vos pipelines CI/CD. De telles intégrations permettent d'éviter qu'une pull request soit fusionnée ou qu'un code soit déployé en production s'il dégrade les performances de votre application. Cela garantit la performance de vos applications à long terme.

Ensuite, des tests de performance automatisés et périodiques intégrés dans les pipelines CI/CD protègent l'application contre les dégradations de performance.

Article publié à l'origine par Thomas di Luccio sur Blackfire.io.

Voir cette vidéo

Votre meilleur travail
est à l'horizon

Essai gratuit
Discord
© 2025 Platform.sh. All rights reserved.