Decompression à la volée de fichiers gzip (Perl)

maxttb

WRInaute occasionnel
Bonjour,

Je m'interesse beaucoup au système de compression HTTP qui est de plus en plus implémenté dans les navigateurs (même Google semble s'y être mis).
Mon site propose de nombreux fichiers dont le ratio de compression peut être très intéressant (de l'ordre de 10%).
J'avais donc pensé compresser tous ces fichiers coté serveur et les renvoyer directement afin que le navigateur gère lui même la décompression. Ca me permettrait d'économiser de l'espace sur le serveur et de la bande passante.
Reste le cas où le client n'accepte pas cette compression, auquel cas, je serait obligé de le décompresser moi-même. Savez-vous si un module Perl permet de faire ca facilement?
Aussi, je me demande s'il n'est pas plus intéressant point de vue charge serveur de mettre tous les fichiers compressé puis les décompresser au besoin ou, à l'inverse, les laisser tels quels et les compresser à la demande.
Avez-vous des experiences de ce type? Avez-vous beaucoup gagné en bande passante?
Merci d'avance!
 

Mojy

WRInaute occasionnel
Alors, c'est une fonction qui existe sur les forums phpBB et qui est rarement employée.
Elle a beaucoup de détracteurs, selon certains elle accélèrerait l'affichage et selon la majorité ce serait plutôt le contraire, un très net ralentissement.

Je pense que le serveur doit y être pour beaucoup et à moins d'être sur un serveur dédié puissant je ne pense pas que ce soit efficace.

Pour phpBB les fichiers sont laissés tels quels sur le serveur et compressés à la demande.

Pour ma part j'utilise des phpBB sans gzip, dans mon cas, c'est plus rapide.

@+ Mojy
 

maxttb

WRInaute occasionnel
Oui, mais ca ne concerne pas un forum, ce sont uniquement des fichiers qui, une fois compressés, ne bouge plus... Le traitement est strictement le même, à savoir l'envoi du fichier brut vers le client.
En gros, vu que le fichier est déja compressé une fois pour toutes, ca n'amène pas plus de charges serveurs. SAUF dans le cas où le navigateur ne supporte pas, auquel cas, il faut décompresser le fichier.
 

Mojy

WRInaute occasionnel
Je ne saurais pas t'en dire plus, je n'ai d'expérience à ce propos qu'avec des forums phpBB.
C'est du boulot bien sûr, mais si tu faisais un test sur une partie du site seulement, tu devrais t'en rendre compte en examinant tes stats.
@+ Mojy
 

maxttb

WRInaute occasionnel
C'est ce que je comptais faire. Merci quand même!
Si ca en interesse, je mettrais plus tard ici même la solution que j'ai choisi ainsi que les eventuelles remarques et conséquences de ce choix.
 

Mojy

WRInaute occasionnel
Si tu as quelques stats avant/après à publier quand tu auras fini ton test, ça m'intéresse et sur quel type de serveur (hébergeur ?).
Il serait peut-être intéressant que plusieurs personnes fassent un test en parallèle, histoire d'avoir un retour plus conséquent, mais bon, nous ne sommes que deux à causer sur ce thread, malheureusement. ;)

@+ Mojy
 

lou

WRInaute occasionnel
début de page: ob_start("ob_gzhandler");
fin de page: ob_end_flush();

ça compresse la page seulement si le client supporte la compression gzip, comme firefox, par rapport à la taille indiqué dans IE on voit le gain de bande passante !
Si le client ne supporte pas la compression gzip, la fonction ne s'executera pas, il n'y a aucun désagrément à utiliser ça.
 

Discussions similaires

Haut