Transmission HTTP

mentral Messages postés 56 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 22 janvier 2008 - 18 juin 2007 à 06:14
mentral Messages postés 56 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 22 janvier 2008 - 18 juin 2007 à 16:14
Bonjour,

Lorsque le navigateur envoie une requête pour l'affichage d'une page, quel est le temps moyen de chacune des actions nécessaires à l'affichage de la page (plus précisément : envoi de la requête, recherche de l'IP par les DNS, redirection vers le serveur, requête traitée par le serveur (incluant PHP/MySQL), réponse renvoyée au navigateur, réception par le navigateur, nouvelles requêtes du navigateur pour télécharger les CSS, JS, images..., fin du chargement de la page) ? Je ne cherche pas de réponse exacte immédiate mais au moins quelques pistes de recherche, mots-clefs, etc. Parmi les hypothèses expliquant un long temps de chargement : manque de bande passante pour le rapatriement du code HTML, des images.. peut-être un temps d'attente imposé par le serveur en cas de surcharge...

Dans le même sujet : soit un lien hypertexte pointant vers une URL qui génère du traitement PHP/MySql et soit un délai de réponse total de 4 secondes entre le clic et l'affichage de la réponse. Si l'on clique une deuxième fois sur le lien durant les 4 secondes, y a-t-il un risque d'interférer avec le premier processus ? De quelle manière ? J'imagine qu'il y a une possible annulation des requêtes au niveau de la transmission HTTP, mais y a-t-il le même système au niveau du serveur (20ms de traitement PHP sur 4 secondes de délai utilisateur.. il y a peu de chances d'interférer avec mais sait-on jamais..) ? A partir de quel moment le navigateur se fige-t-il entre l'affichage de deux pages ? Etc.

Merci d'avance pour toute piste, suggestion de lecture, etc.
L'autre côté du webdevelopment, c'est aussi la compréhension du système qui, en arrière-plan, fait tourner le web .

[ Mentral ]

3 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 juin 2007 à 12:47
Salut
4 secondes c'est tolerable.
t'as une option dans php.ini pour couper ou non php lorse-que la requette est annulee
<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
18 juin 2007 à 14:04
Tout dépend de ton ping (temps d'accès au serveur en ms), du temps de réaction de l'hébergeur, de sa bande passante (si y'a du monde ou pas), de ton taux d'occupation CPU, de son taux de mémoire utilisé... bref, les possibilités sont nombreuses :)

Après, tout dépend aussi du code PHP qui est derrière, si c'est codé n'importe comment, ca prendra des plombes.

4 secondes de réaction, ca fait pas mal quand même... c'est que le traitement doit être assez long.
Ah pardon, 20ms de temps PHP... ca veut dire que l'envoi HTML a duré 3 sec 80. C'est un problème de latence de reseau.
0
mentral Messages postés 56 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
18 juin 2007 à 16:14
@coucou747 : ok pour l'option dans le php.ini; quand tu parles de "requête annulée", quand est-ce que l'annulation intervient ? Quand on clique une deuxième fois sur le même lien ? Quand le serveur reçoit deux fois la même instruction à la suite ?

@FhX : plein de paramètres sont à prendre en compte, c'est vrai; toutefois, il y a bien des ordres de grandeur : je que j'en comprends pour l'instant c'est que l'étape DNS est hyper rapide, que le traitement PHP est de l'ordre des ms, mais que le chargement d'une image peut prendre 1s par exemple... en gros quelle est l'intégralité des étapes suivies avec des ordres de grandeur du temps nécessité par chacune d'entre elles ? Encore une fois pas je ne demande pas de réponse exacte mais plutôt des liens vers des benchmarks, des pages de vulgarisation, etc.

Le fond du problème est de répondre à cette question : quand je clique deux fois sur le même lien, est-il possible que le premier processus "traîne", que le deuxième lui passe devant, que l'un des deux soit annulé (et si oui à quel moment et comment...) ?

Merci 


[ Mentral ]
0
Rejoignez-nous