PROFILAGE ET PARAMÉTRAGE PHP

SOLUTIONS

Il est important de paramétrer votre code pour qu'il s'adapte à n'importe quelle langage. C'est bien plus important pour des langages interprétés comme PHP, qui sont un peu plus lents que les langages compilés. Même dans les environnements hybrides, le profilage des nœuds PHP est encore important pour gérer les performances globales de l'application. En conséquence, le profilage et le paramétrage PHP sont des sujets de discussion constants pour les développeurs PHP – par où commencer ? Quels sont les meilleurs profileurs ? Comment mesurez-vous les résultats de vos efforts ?

Le problème est que, sans visibilité suffisante, il est très difficile de savoir où commencer pour en tirer un rendement maximal. De nombreux développeurs passent des heures ou des semaines sur un projet d'optimisation des performances et se rendent compte ensuite que cela n'a fait aucune différence dans le fonctionnement de l'application.

Pour rendre l'optimisation efficace, il est important de disposer des outils appropriés. Ceci signifie que vous aurez besoin d'un profileur PHP capable de surveiller votre environnement de production, afin de découvrir le véritable impact de vos efforts d'optimisation sur vos utilisateurs finaux.

AppDynamics pour PHP est une solution de surveillance PHP facile à utiliser et conçue pour les environnements de production. Avec AppDynamics, vous pouvez facilement surveillez votre code PHP, identifier les goulots d'étranglement et rechercher le niveau de la catégorie et de la méthode pour identifier la cause profonde.

Facile à installer et à utiliser

Le paramétrage PHP n'a jamais été aussi facile. AppDynamics découvre automatiquement et mappe votre application PHP, puis commence à établir une base de comparaison (baselining) de performance pour chaque transaction commerciale. Quand la performance commence à se dégrader, vous pouvez facilement trouver le goulot d'étranglement dans votre application et commencer le dépannage.

Recherchez les détails au niveau du code

AppDynamics a les antécédents les plus complets pour les piles d'appels de tous les outils de performance PHP. Grâce à AppDynamics vous pouvez rapidement identifier une transaction peu performante, rechercher les antécédents d'une pile d'appels, et identifier la ligne de code responsable de la latence.

Plus d'alertes continuelles

Beaucoup d'outils de surveillance dépendent de seuils statiques et globaux pour envoyer les alertes, ce qui se solde par des alertes continuelles (quand le seuil est trop bas) ou par des problèmes non détectés (quand le seuil est trop élevé). AppDynamics vous permet de mettre en place des alertes en fonction des performances des transactions commerciales, vous ne recevrez donc des alertes que si quelque chose ne va pas.

En savoir plus sur la surveillance de PHP

Fonctionnalités principales de la surveillance PHP

  • Transactions commerciales: Détection automatique, temps de réponse, appels par minute, lent, très lent, arrêts
  • Diagnostics au niveau du code: Sessions diagnostiques affichant l'exécution complète du code, recueil disponible basé sur la politique
  • Visibilité des instructions SQL: Rapports AOP et instructions préparatoires, retirer les données sensibles
  • Erreurs: Erreurs de transaction, erreurs de backend
  • Surveillance réelle de l'utilisateur: Diagnostics du navigateur mis en corrélation avec les diagnostics au niveau du code
  • Détection de modifications: Enregistrement des événements de modification de l'application
  • Carte des flux de données de l'application: Visualisez toutes les dépendances de votre application
  • Analyse en temps réel: Références de base automatiques et notation des performances d'applications et de transactions

Environnements pris en charge pour la surveillance PHP

Versions PHP

  • 5.3, 5.4

Web Servers

  • Apache 2.2 in prefork mode 
  • Apache 2.2 in worker MPM running FastCGI using php-fpm 
  • nginx 1.2.x running FastCGI using php-fpm

Operating Systems

  • RHEL/CentOS 5.8+
  • Ubuntu/Debian 12+

Architecture

  • x86_64bit

Frameworks

  • Drupal 7 using Drupal entry point type 
  • WordPress 3.4 & 3.5 using Wordpress entry point type 
  • Zend 1 & 2 using PHP MVC entry point type 
  • Symfony 1 & 2 using PHP MVC entry point type 
  • Magento 1.5, 1.6 & 1.7 using PHP MVC entry point type
  • HTTP using PHP Web entry point type 

Transaction Naming

  • Drupal: page callback name
  • Wordpress: template name
  • PHP MVC: module:controller:action
  • PHP Web: URL

HTTP Exit Points

  • fopen
  • curl/curl-multi
  • drupal_http_request()
  • Zend_HTTP_Client::request()

DB Exit Points

  • PDO
  • mysql old native driver
  • mysqli

Cache Exit Points

  • memcached

Opcode Cache Compatibiity

  • Alternative PHP Cache (APC)