Utilisez vous le flush HTML ?

6 réponses
AuteurMessage

allogarage |
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 11/12/2015 à 09:38

Bonjour,

Même si c'est documenté depuis longtemps ( http://www.stevesouders.com/blog/2009/05/18/flushi...Ouvrir dans une nouvelle fenetre ) j'ai toujours galéré à implémenter cette technique de flush HTML qui permet d'envoyer le fichier HTML en plusieurs parties de sorte que le navigateur puisse traiter par exemple le header immédiatement (charger le fichier CSS ou faire du prefetch dns par exemple).

Un article récent m'a interpellé car apparemment ca dépend de beaucoup de paramètres et des nombreux buffers : PHP, Apache, et même carte réseau.
http://calendar.perfplanet.com/2015/role-of-networ...Ouvrir dans une nouvelle fenetre

Et vous, utilisez vous cette technique ? Comment l'avez vous mis en place ?

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 11/12/2015 à 10:26

Hello,

j'ai utilisé ça par le passé oui, en particulier dans mon framework de suite après envoi des entêtes HTTP.
Mais clairement en pratique comme tu le dis ça ne fonctionne pas super bien, à cause des nombreux buffers (PHP output_buffering, compression PHP, buffer fastCGI, puis buffer du serveur HTTP... sans même parler des eventuels reverse-proxy en plus).

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

allogarage | Nicolas
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 11/12/2015 à 10:45

Oui c'est dommage car c'est top comme technique mais trop compliqué à mettre en place pour le gain.
Après pour des sites ecommerce a fort trafic, c'est surement indispensable.

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

Salemioche | Nicolas
Membre

Photo de Salemioche

Inscrit le : 26/12/2008

# Le 11/12/2015 à 10:46

Avec un cache efficace ou un framework pas trop pourri, la génération de la page html initiale (complète) ne représente plus grand chose pour que cela me paraisse etre une marge substantielle de perf.

Si j'ai un "long" traitement à faire, je le fais après un appel à fastcgi_finish_request

allogarage | Nicolas
Modérateur

Photo de allogarage

Inscrit le : 14/10/2008

# Le 11/12/2015 à 10:48

je connaissais pas fastcgi_finish_request

pour le flush même si la génération est instantané, le flush permet quand même de gagner quelques dizaines de ms. C'est clairement pas la première optimisation à mettre en place mais quand on a déjà pas mal optimisé

Guide comparatif des garages automobilesOuvrir dans une nouvelle fenetre | Guide comparatif des garages motoOuvrir dans une nouvelle fenetre | Annuaire auto motoOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 11/12/2015 à 11:11

gagner quelques dizaines de ms


Normalement beaucoup moins que ça... tu fais quoi dans la génération de ta page pour que ce soit si lent ?

Inversement les buffers sont là aussi pour réduire la latence imposée par le client, qui elle justement se chiffre rapidement en dizaines voire centaines de ms.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Salemioche | Nicolas
Membre

Photo de Salemioche

Inscrit le : 26/12/2008

# Le 11/12/2015 à 14:43

Dans tes logs apache, tu peux mettre l'option %D ( The time taken to serve the request, in microseconds. ), si tu compares ça avec le timing complet sur tools/pingdom par exemple, tu verras que c'est pas vraiment la que ca se joue. Ou alors tu fais des trucs dans la page qui ne devraient peut etre pas y etre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 28/03/2024 19:50:47 | Généré en 10.8ms | Contacts | Mentions légales |