begin process at 2010 02 10 01:11:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > ACCELERER L'AFFICHAGE DE VOS PAGES

ACCELERER L'AFFICHAGE DE VOS PAGES


 Information sur la source

Note :
7,62 / 10 - par 21 personnes
7,62 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :30/05/2002 Date de mise à jour :30/05/2002 19:34:53 Vu :21 912

Auteur : CrowEye

Ecrire un message privé
Site perso
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

C'est trs simple, avec Php 4 ou +, il est possible d'acclrer l'affichage de vos pages.
Vous placez la premire ligne en haut de votre page & la deuxime ligne en bas.

Source

  • Premire ligne:
  • -->
  • <? ob_start("ob_gzhandler"); ?>
  • Deuxime ligne:
  • -->
  • <? ob_end_flush(); ?>
Premire ligne: 
--> 
<? ob_start("ob_gzhandler"); ?> 

Deuxime ligne: 
--> 
<? ob_end_flush(); ?> 

 Conclusion

Cette astuce n'est pas  appliquer pour des scripts destins  tre executs par un appel en JavaScript. Un routage par proxy pourrait ne pas prendre en compte le script.

http://www.funreseau.ht.st


 Sources du même auteur

TIPS: RÉCUPÉRER SON IDENTIFIANT CARAMAIL.
ETAGS, UN GAIN DE TEMPS.
REMPLACER UN MOT DANS UNE PAGE.
PAGING: EXPLICATION BASIQUE.
GÉNÉRER UNE GALLERIE D'IMAGES

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

Commentaires et avis

Commentaire de biencontent le 31/05/2002 12:17:28

Est-ce que tu peux nous expliquer un peu pourquoi.
S'teplait...
Merci
G.-

Commentaire de guidal le 12/06/2002 10:51:05

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 ...


Commentaire de CrowEye le 07/08/2002 01:46:52

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.

Commentaire de DeAtHCrAsH le 09/09/2002 12:41:54

Tres bonne astuces.... Rien que d'eviter les erreurs d'envoie des headers est deja bcp :]

Commentaire de bob3000 le 29/11/2002 01:26:57

juste ce quil me fallait!!!

Commentaire de CalistX le 28/12/2002 12:15:46

Ouaip, vraiment cool !!

Commentaire de SmallToad le 10/01/2003 23:52:13

C'est pas très bon comme astuce.

Commentaire de draculaseb le 14/01/2003 21:42:32

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

Commentaire de CrowEye le 14/01/2003 21:47:25

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

Commentaire de rthibod le 27/03/2003 12:11:39

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 : &lt;? ob_end_flush(); ?&gt;

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

Merci

Commentaire de CrowEye le 27/03/2003 13:05:11

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à

Commentaire de cbibi le 09/03/2004 20:36:56

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 ?

Commentaire de neo1972 le 14/05/2004 23:03:06

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.

&gt; 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


&lt;?php  ob_start("ob_gzhandler");?&gt;
&lt;html&gt;
....
&lt;/html&gt;
&lt;?
ob_end_flush();  
?&gt;  

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.

Commentaire de infogroupe le 16/05/2004 16:11:07

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...

Commentaire de stequer le 28/05/2004 11:23:56

sa va pas mal bien jouer c cool

Commentaire de ilvec le 02/06/2004 10:35:08

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

Commentaire de CrowEye le 02/06/2004 12:20:08

Utilise apache bench, c fourni avec le packtage apache je crois.

Commentaire de hdh le 21/01/2005 23:08:59

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


Commentaire de zeratul67 le 09/07/2005 20:17:03

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 :)

Commentaire de The_Template le 14/11/2005 19:29:57

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)

Commentaire de awnp1 le 08/04/2006 09:08:59

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"); ?> <embed src=flash.swf><? 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

Commentaire de Bouillou2 le 07/05/2006 18:41:25

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales