Éléments PHP et éléments non PHP
Si vous comparez vos temps de chargement des actifs non PHP à vos temps de chargement basés sur PHP, vous verrez que le serveur répond rapidement si PHP n'est pas impliqué.
Cela indique généralement un problème interne à votre script PHP.
Le problème pourrait être dans la couche PHP ou la base de données. L'utilisation d'outils de débogage avancés comme XDebug ou NewRelic peut vous aider à repérer rapidement le goulot d'étranglement.
Les problèmes de délai avant le premier octet peuvent être causés par des contraintes matérielles, une mauvaise configuration ou un code inefficace. Sur l'hébergement mutualisé, les contraintes matérielles et une mauvaise configuration sont les plus probables.
Dans tous les cas, résoudre le problème signifie généralement un ou tous les éléments suivants:
- Plus de matériel
- Meilleure programmation
- Ajouter la mise en cache
Un matériel plus rapide est une solution évidente mais souvent coûteuse si vous disposez déjà de ressources dédiées.
Une meilleure programmation peut ne pas être possible si le problème est interne au code que vous ne maintenez pas ou manque de ressources de développeur.
La mise en cache est utile en réduisant le nombre de demandes qui doivent toucher les ressources sous-jacentes et peu performantes.
Essai
Lorsque vous utilisez des outils de test, assurez-vous d'effectuer plusieurs exécutions. Les pics de réseau et de serveur temporaires peuvent facilement vous conduire sur le mauvais chemin, vous devez donc essayer de les moyenne.
Hébergement
Si vous êtes sur un compte d'hébergement partagé, envisagez de passer à des services de type cloud ou VPS afin de mieux comprendre les problèmes de performances. À moins que vous n'utilisiez une technique de mise en cache (service de type CDN ou Cloudflare), la correction des problèmes de performances sur les systèmes d'hébergement partagé de masse peut être très difficile car vous manquez de contrôle suffisant sur le serveur.