Pourquoi un script PHP de test de vitesse donne-t-il de mauvais résultats ?
Un script PHP de test de vitesse ne mesure pas uniquement la qualité de votre connexion fibre ou de votre box. Le résultat dépend aussi des performances du serveur, de la configuration PHP, de la méthode de transfert, de la latence et du réseau local. Cette analyse présente les causes les plus fréquentes d’un débit descendant ou montant inférieur aux attentes, les vérifications à effectuer et les optimisations utiles pour obtenir une mesure plus fiable, que vous soyez connecté en Ethernet ou en Wi-Fi.
Pourquoi le résultat du test PHP peut-il être inférieur au débit annoncé ?
Un test réalisé avec un script PHP mesure une chaîne complète : votre appareil, le Wi-Fi ou le câble Ethernet, la box, le réseau de l’opérateur, Internet, le serveur distant et le traitement effectué par PHP. Une faiblesse sur un seul de ces éléments peut réduire le débit descendant, le débit montant ou augmenter la latence.
Le résultat ne correspond donc pas toujours exactement à la capacité théorique de votre abonnement fibre. Pour comparer correctement, il faut utiliser le même appareil, le même serveur et des conditions réseau similaires.
Cause n°1 : le serveur PHP manque de ressources
Le serveur qui exécute le script peut être limité par son processeur, sa mémoire, son stockage ou sa bande passante. Si plusieurs visiteurs lancent un test en même temps, le serveur peut ralentir avant même que votre box ne soit en cause.
Un hébergement mutualisé est particulièrement sensible à ce problème. Le script peut également subir une limitation de trafic ou de temps d’exécution imposée par l’hébergeur.
Comment le vérifier ?
Réalisez plusieurs tests à des heures différentes et comparez le résultat avec un autre serveur de test. Si le débit varie fortement selon l’heure ou reste faible uniquement avec votre script, le serveur PHP est probablement le principal facteur limitant.
Cause n°2 : la configuration PHP ralentit le transfert
Un script PHP qui génère les données à la volée peut consommer davantage de ressources qu’un fichier statique. Les traitements inutiles, les écritures dans les journaux, les sessions ou une compression mal configurée peuvent réduire la vitesse de transfert.
La version de PHP, le mode d’exécution et les limites de mémoire ou de temps peuvent aussi influencer la stabilité du test. Une limite de durée peut interrompre le transfert avant que la connexion atteigne son débit réel.
Comment le vérifier ?
Comparez le script dynamique avec un fichier de test statique de taille équivalente. Consultez les journaux du serveur et vérifiez les limites PHP liées au temps d’exécution, à la mémoire et à la taille des réponses.
Cause n°3 : la méthode de mesure ne sollicite pas assez la connexion
Un seul téléchargement ou un seul envoi peut ne pas saturer une connexion fibre, surtout lorsque la latence entre le client et le serveur est élevée. Le débit mesuré reste alors inférieur au débit disponible, même si la box et le routeur fonctionnent correctement.
La taille des fichiers, le nombre de connexions simultanées et la durée du test ont une influence directe. Un test trop court mesure souvent la phase de démarrage plutôt que le débit stabilisé.
Comment améliorer la mesure ?
Utilisez des fichiers suffisamment volumineux, une durée de test raisonnable et plusieurs connexions parallèles. Conservez toutefois une limite pour éviter de surcharger le serveur ou de fausser les résultats avec une saturation locale.
Cause n°4 : le Wi-Fi limite le débit de la box
Un test lancé en Wi-Fi ne mesure pas seulement la connexion de l’opérateur. La distance avec la box, les murs, les réseaux voisins et la bande utilisée peuvent réduire le débit descendant et augmenter la latence.
La bande 2,4 GHz porte plus loin mais elle est souvent plus encombrée. La bande 5 GHz ou 6 GHz offre généralement de meilleures performances à courte distance, à condition que le routeur et l’appareil soient compatibles.
Comment le vérifier ?
Effectuez un test avec un ordinateur relié en Ethernet directement à la box. Si le résultat est nettement meilleur qu’en Wi-Fi, optimisez le positionnement du routeur, choisissez une bande moins saturée ou utilisez un point d’accès mieux placé.
Cause n°5 : la latence et la distance du serveur réduisent les performances
La distance géographique entre votre box et le serveur PHP augmente la latence. Les échanges nécessaires au démarrage du test prennent alors plus de temps, notamment lorsque le script utilise de nombreuses petites requêtes.
Un serveur situé dans un autre pays peut également emprunter un chemin réseau moins performant. Le débit descendant et le débit montant peuvent varier selon le routage de l’opérateur, même si la connexion locale reste stable.
Comment le vérifier ?
Mesurez la latence vers plusieurs serveurs proches et éloignés. Comparez les résultats avec un outil indépendant et privilégiez un serveur situé dans la même région ou chez un hébergeur disposant d’une bonne connectivité.
Cause n°6 : la box, le routeur ou le réseau local est déjà utilisé
Un téléchargement, une sauvegarde cloud, une vidéo en haute définition ou une mise à jour peut consommer une partie du débit disponible. Le test PHP affiche alors la capacité restante plutôt que la capacité maximale de votre ligne.
Certains routeurs activent aussi une fonction de qualité de service, un contrôle parental ou une inspection du trafic qui peut limiter les performances. Les répéteurs Wi-Fi et les adaptateurs CPL ajoutent également des points de ralentissement.
Comment le vérifier ?
Arrêtez les activités réseau sur les autres appareils, redémarrez éventuellement la box et répétez le test avec une seule machine connectée. Vérifiez aussi l’utilisation du réseau dans l’interface d’administration du routeur.
Cause n°7 : les unités ou la méthode d’interprétation sont incorrectes
Les résultats peuvent sembler faibles lorsque l’on confond mégabits par seconde et mégaoctets par seconde. Un débit annoncé en Mbit/s doit être divisé approximativement par huit pour obtenir une valeur en Mo/s, sans compter les pertes liées aux protocoles.
La vitesse instantanée affichée par le navigateur peut aussi différer de la moyenne calculée par le script. Il faut comparer des unités identiques et examiner la moyenne sur toute la durée du transfert.
Comment optimiser un script PHP de test de vitesse ?
- Hébergez le script sur un serveur disposant d’une bande passante suffisante.
- Utilisez des fichiers de test statiques ou générez les données avec un traitement minimal.
- Prévoyez plusieurs tailles de fichiers et plusieurs connexions parallèles contrôlées.
- Évitez les journaux détaillés et les requêtes inutiles pendant la mesure.
- Mesurez séparément le débit descendant, le débit montant et la latence.
- Ajoutez un contrôle de taille et de durée pour éviter la surcharge du serveur.
- Comparez les résultats en Ethernet puis en Wi-Fi.
Quelle méthode utiliser pour confirmer le diagnostic ?
- Fermez les téléchargements, vidéos et sauvegardes en cours.
- Connectez l’ordinateur en Ethernet directement à la box.
- Lancez plusieurs tests PHP vers un serveur proche.
- Comparez le résultat avec un test indépendant reconnu.
- Répétez la mesure à différents moments de la journée.
- Analysez séparément la performance du serveur et celle de la connexion.
Pour une mesure complémentaire, vous pouvez comparer les résultats avec un outil de test disponible sur speedtest.im. Si plusieurs outils affichent un débit faible en Ethernet, contactez votre opérateur. Si seul le script PHP est lent, concentrez l’analyse sur le serveur, la configuration PHP et la méthode de transfert.
