Objectifs pédagogiques de la formation

La formation «Optimisation PHP» répond au besoin des développeurs et administrateurs qui veulent faire monter en puissance leurs applications Web. Nous aborderons le fonctionnement interne de PHP et des différents organes du web. La formation est dispensée sous Linux, basée sur un cas concret. Nous aborderons les différentes étapes qui vous permettront d'améliorer les performances d'une application : OS, serveur web, réseau, php, mesures et web-stress puis optimisations diverses.

 

Programme de la formation

Analyser un site existant
  • Les journaux / remontées d'information
  • Les outils de monitoring / profiling
  • Repérer les goulots d'étranglement
  • Utilisation d'outils de web-stress

Architecture PHP et serveurs webs
  • Comprendre PHP et les serveurs webs
  • Les différentes manières d'utiliser PHP
  • Les outils autour de PHP (PECL, PEAR, ...)
  • Les différentes manières d'installer PHP
  • Zend Engine / débogage de bas niveau

Considérations matérielles et logicielles
  • Les points à prendre en compte
  • OS, matériel et versions des logiciels
  • Savoir estimer les ressources nécessaires en fonction du type d'application
  • Les différents serveurs webs pour PHP

Optimisation de la compilation
  • Compilation d'Apache et PHP pour les performances et la sécurité
  • Compilation de Lighttpd / NGinx
  • Paramétrage et personnalisation de l'environnement
  • Optimisation de l'accès aux extensions (statique et dynamique)
  • Modules Apache, CGI, FPM

Optimisation par la configuration logicielle
  • Configuration PHP
  • Configuration du serveur Apache

Optimisation par le code
  • Fonctionnement interne d'un script PHP
  • Les erreurs à ne pas commettre
  • Quelques pistes pour optimiser vos scripts

Optimisation par le cache
  • Adaptation environnement / architecture
  • Cache de haut niveau : HTTP
  • Cache d'opcodes et caches mémoire
  • Mise en place d'un proxy HTTP
  • Compression zlib
  • Gestion optimisée des téléchargements

Optimisation des bases de données
  • Configuration du serveur MySQL
  • Choix du moteur de stockage
  • Optimisation des structures de tables
  • Optimisation des requêtes
  • SQLite