ACCELERER L'AFFICHAGE DE VOS PAGES

biencontent Messages postés 6 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 3 novembre 2004 - 31 mai 2002 à 12:17
cs_Bouillou2 Messages postés 11 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 31 juillet 2006 - 7 mai 2006 à 18:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12924-accelerer-l-affichage-de-vos-pages

cs_Bouillou2 Messages postés 11 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 31 juillet 2006
7 mai 2006 à 18:41
Hello,

Personnelement je l'ai ajouté dans les fichiers d'executions automatiques prepend.php et append.php et je ne vois pas de différence.

Pour tester votre page : http://www.philiweb.com/accueil.php?num=26

A+,

Bouillou
awnp1 Messages postés 12 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 27 août 2008
8 avril 2006 à 09:08
bonjour,

merci pour l'astuce, mais je comprend mal, je vais me repeter, donc si je comprend bien :
si certains browsers n'accepte pas gzip il saute ce script et fonctionne normalement ?
mais si je met trop de variables, sessions, tag...y t-il un risque de buffer overflow ?
et si je met pour
<? ob_start("ob_gzhandler"); ?> <? ob_end_flush(); ?> ca ne va pas l'accelerer ?
et derniere question, je ne trouve pas ma page dans ie tempory file, comment je peux trouver la taille en cache ?

merci d'avance
The_Template Messages postés 16 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 19 décembre 2005
14 nov. 2005 à 19:29
En fait, utilisé avant le tout premier echo et que l'on utilise la concanétation avec des virgules et non des points dans ses echo, on observe un gain de 10%. (source-> expreg.com)
zeratul67 Messages postés 97 Date d'inscription mardi 9 avril 2002 Statut Membre Dernière intervention 11 mai 2008
9 juil. 2005 à 20:17
Voir ob_gzhandler() ?

A mon avis, tout ça n'est vraiment utile que pour les connexions bas débit, type 56k, et pour des pages lourdes (beaucoup de texte, page complexe).

Utiliser une bufferisation simplement pour supprimer un problème de header n'EST PAS LA BONNE SOLUTION. Les problèmes de header se résolves en modifiant le code, pas en demandant un traitement plus lourd au serveur...

information intéressante :)
cs_hdh Messages postés 140 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 août 2012
21 janv. 2005 à 23:08
Hello

suis tombé sur cela pour comparer avant / après la mise en place de ce code
http://www.philiweb.com/sommaire1.php?num=26
bien pratique !!

Par contre reste une question : y a t-il des contrindications pour ce code (javascript ???)

a+

H
CrowEye Messages postés 26 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 23 janvier 2006
2 juin 2004 à 12:20
Utilise apache bench, c fourni avec le packtage apache je crois.
ilvec Messages postés 53 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 7 août 2007
2 juin 2004 à 10:35
Bonjour,

Je voudais utiliser cette fonction, mais pour savoir si elle est vraiment efficace sur mes pages (question de pas bouffer plein de ressources pour gagner 1 Ko), je voudrais connaîte la taille de mes pages avant, et surtout après la compression.

Le problème c'est que je sais pas du tout comment faire.

Je pense que c'est possible puisque CrowEye indique ces deux tailles.

Merci d'avance

PouPou
stequer Messages postés 51 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 13 janvier 2006
28 mai 2004 à 11:23
sa va pas mal bien jouer c cool
cs_infogroupe Messages postés 1 Date d'inscription dimanche 16 mai 2004 Statut Membre Dernière intervention 16 mai 2004
16 mai 2004 à 16:11
De mon côté, après essais sur une page de 50ko, j'observe des temps de chargement similaire voir plus long avec cette astuce...
A tester donc avant de l'utiliser sur votre site...
cs_neo1972 Messages postés 1 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 14 mai 2004
14 mai 2004 à 23:03
J'essaye justement d'utiliser cette fonction mais il semble que ca empeche les pages de se charger. J'ai fais le test en retirant le code pour être certain que ca provenait bien de ça.

> Voici comment sont composées mes pages :
1 page centrale classic
+ 1 header en include sur la page centrale
+ 1 menu gauche en include sur la page centrale
+ 1 pub en bas sous le menu gauche en include sur la page centrale
+ 1 menu à droitre en include sur la page centrale
+ 1 footer en include sur la page centrale

J'ai placé le code suivant dans la page centrale


<?php ob_start("ob_gzhandler");?>
<html>
....
</html>
<?
ob_end_flush();
?>

Selon vous d'où proviendrait le problème ?
Vous pouvez essayer ces pages pour voir le résulat avec GZIP alors que je l'ai enlevé de l'index.

http://www.simpsonspark.com/serie_prod.php
http://www.simpsonspark.com/serie_voices.php

Merci d'avance pour vos réponses.
cs_cbibi Messages postés 112 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 11 novembre 2007
9 mars 2004 à 20:36
suis un gros noobi , mais j'ai lu entre deux lignes le mot : buffer overflow , il n'y pas de risque que cette fonction en provoque un ?
CrowEye Messages postés 26 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 23 janvier 2006
27 mars 2003 à 13:05
Je ne pense pas que cela provoque une erreur mais oui ça fait foirer le bazar. Je l'utilise pour phpsecure et la taille des pages descend de 70ko (!) à 15ko, c un très bon résultat. Mais cela utilise les ressources c'est certain, l'utilisation d'un cache est le bienvenu !

Enfin voilà
rthibod Messages postés 7 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 27 mars 2003
27 mars 2003 à 12:11
Question?

J'avais déjà entendu parlé de ce truc mais sans autant d'explications, c'est pas mal intéressant.

La seule chose que je me souvien de ce que j'avais lu c'est que après la ligne : <? ob_end_flush(); ?>

Il ne doit rien y avoir, même pas une ligne vide.
Pouvez vous valider cette info?

Merci
CrowEye Messages postés 26 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 23 janvier 2006
14 janv. 2003 à 21:47
Bah vous en faites ce que vous voulez ...
C'est pratique à partir du moment où l'on possède un 56k et que l'on veut lire un article de 15ko. Le poids en est réduit à 4ko, c un beau gain je trouve.
ob_start("ob_gzhandler"); ne commence la mise en cache que si le navigateur supporte gzip, dont là no problemo.

tchao
draculaseb Messages postés 3 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 20 janvier 2003
14 janv. 2003 à 21:42
la je sais pas !
déja, si le navigteur ne peu pas accepter la compression, il doit quand meme supporter ob_start() !
or ob_start() met les données dans une mémoire tampon et ça diminu un peu les performances ! donc ok si compresse, on gagne 2 secondes 05 sur un Mo, mais si on a le vieu navigetr de l'an 2,n on en pert autant pour le même poids ;-)
@+,
dracula
SmallToad Messages postés 110 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 septembre 2004
10 janv. 2003 à 23:52
C'est pas très bon comme astuce.
CalistX Messages postés 29 Date d'inscription lundi 25 mars 2002 Statut Membre Dernière intervention 9 octobre 2003
28 déc. 2002 à 12:15
Ouaip, vraiment cool !!
bob3000 Messages postés 406 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 2 octobre 2004
29 nov. 2002 à 01:26
juste ce quil me fallait!!!
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
9 sept. 2002 à 12:41
Tres bonne astuces.... Rien que d'eviter les erreurs d'envoie des headers est deja bcp :]
CrowEye Messages postés 26 Date d'inscription dimanche 9 septembre 2001 Statut Membre Dernière intervention 23 janvier 2006
7 août 2002 à 01:46
Il y a deux énormes avantages à mettre en buffer ( en mémoire ) les scripts:
- 1) La compression peut atteindre 80%. Ce qui rend la vie plus facile aux 56k. De plus si le navigateur n'accepte pas la compression, elle n'est pas effectuée.
- 2) Le code étant mis en mémoire, la modification des headers peut s'effectuer à n'importe quelle endroit de la page. L'erreur "... headers already sent ..." c oublié :-)

Néamoins cette compression necessite la librairie zlib, mais bcp d'hébergeurs l'ont installées.
guidal Messages postés 85 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 9 octobre 2003
12 juin 2002 à 10:51
Bon ben voici ce que j'ai compris de ma lecture de la référence à ce sujet :

¤ ob_start permet de mettre la sortie (tout ce qui est envoyé par la cmd echo ) ds un buffer
¤ ob_flush envoie aunavigateur le contenu du buffer
¤ ob_gzhandler compresse les données suivant le format approprié (gzip, deflate ou aucun). Le format dépend du navigateur.

En théorie ca peut etre pas mal ...
Mais combien de navigateurs acceptent réellement une compression ?
Il aurait été pas mal de faire des tests avec le gain moyen suivant les navigateurs ...
biencontent Messages postés 6 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 3 novembre 2004
31 mai 2002 à 12:17
Est-ce que tu peux nous expliquer un peu pourquoi.
S'teplait...
Merci
G.-