Articles — PHPerformances

Bonnes pratiques

Bonnes pratiques MySQL

Tour d'horizon des bonnes pratiques MySQL pour garder une application web performante, mis à jour pour MySQL 8.4 LTS (et MariaDB) : choix du moteur InnoDB et de l'encodage utf8mb4, indexation et index couvrants, requêtes efficaces, puis analyse avec le slow query log, le Performance Schema et EXPLAIN ANALYZE, sans oublier le réglage du buffer pool.

Bonnes pratiques

Améliorer les performances avec xDebug

xDebug est un outil de débogage et de profiling applicatif pour PHP. Il permet de détecter les erreurs dans les scripts développés et de les visualiser plus facilement qu'avec PHP seul. xDebug permet aussi de donner des informations importantes sur les éventuels problèmes de performance dans votre application web à l'aide du profiling et la visualisation des "traces".

Outils

Développer avec Docker

Lors de mes recherches et de mes derniers projets j'ai eu l'occasion d'utiliser docker en tant qu'environnement de développement et de test. L'utilisation d'un environnement local de développement permet énormément de choses et est très évolutif et surtout permet de ne pas surcharger son laptop de bases de données et de serveurs. Docker permet de partager un même environnement de développement et de test entre tous les développeurs a l'aide d'un seul fichier de configuration et de quelques lignes de commandes. Il permet donc d'éviter les longues matinées (voir journées) destinées a juste installer un environnement de développement pour chaque développeur au lancement d'un projet.

Apache

Module PageSpeed

Google developers propose un module open-source qui permet d'améliorer les performances des applications web. Google annonce que ce module permet d'appliquer automatiquement les règles de bonne pratiques relatives aux performances citées sur la page officielle Google Developers sans avoir besoin de modifier le workflow de l'application. J'ai donc testé l'efficacité de ce module, en comparent le rendu d'une application web a l'aide des outils PageSpeed et Yslow.