Auteur Sujet: Mod_gzip  (Lu 3174 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Anubis

  • Habitué
  • **
  • Messages: 161
    • http://
Mod_gzip
« le: 11 octobre 2003 à 00:42:19 »
Juste pour signaler que le module gzip n'est pas installé sur l'Apache des serveurs de PhpNet.

Il faut tout de même savoir que le mod_gzip permet de compresser les données envoyées par le serveur pour économiser de la bande passante.

Je voudrais donc savoir pourquoi cette option n'était pas dans Apache, et si elle l'est, comment l'activer *autrement* que par PHP.
virtual void Life[span style=\'color:purple\']() = 0;[/span]

Genezys, humeurs d'un codeur
ChuWiki, le wiki simple et facile
Le lynx et autre félins (j'ai seulement fait les designs ^^)

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Mod_gzip
« Réponse #1 le: 11 octobre 2003 à 12:27:10 »
le mod gzip fait mouliner le cpu alors que la bande passante est a volonte... mieux vaut donc privilegier le cpu a la bande passante...
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne Dash

  • Débutant
  • *
  • Messages: 61
    • http://www.phpnet.org/forum/index.php?showuser=454
Mod_gzip
« Réponse #2 le: 11 octobre 2003 à 16:04:24 »
permettez ?


1er test

Citer
>ab http://www.alliance-pbem.net/index.php

This is ApacheBench, Version 2.0.36 <$Revision: 1.97 $> apache-2.0
Copyright © 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright © 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.alliance-pbem.net (be patient).....done


Server Software:        Apache/1.3.28
Server Hostname:        www.alliance-pbem.net
Server Port:            80

Document Path:          /index.php
Document Length:        21557 bytes

Concurrency Level:      1
Time taken for tests:   1.121613 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Total transferred:      21983 bytes
HTML transferred:       21557 bytes
Requests per second:    0.89 [#/sec] (mean)
Time per request:       1.122 [ms] (mean)
Time per request:       1.122 [ms] (mean, across all concurrent requests)
Transfer rate:          18.72 [Kbytes/sec] received


2e test

Citer
>ab -H "Accept-Encoding: gzip, deflate" http://www.alliance-pbem.net/index.php

This is ApacheBench, Version 2.0.36 <$Revision: 1.97 $> apache-2.0
Copyright © 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright © 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.alliance-pbem.net (be patient).....done


Server Software:        Apache/1.3.28
Server Hostname:        www.alliance-pbem.net
Server Port:            80

Document Path:          /index.php
Document Length:        4694 bytes

Concurrency Level:      1
Time taken for tests:   1.141642 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Total transferred:      5189 bytes
HTML transferred:       4694 bytes
Requests per second:    0.88 [#/sec] (mean)
Time per request:       1.142 [ms] (mean)
Time per request:       1.142 [ms] (mean, across all concurrent requests)
Transfer rate:          4.38 [Kbytes/sec] received

D'apres les chiffres donnes par cet exemple-ci, l'appel a la page index.php avec un navigateur capable d'interpreter le format de compression gzip le gain en volume de donnees transfere serait de 76.4%. Et ce - toujours dans cet exemple - , avec une surcharge induite relativement negligeable. Certainement. Meme en lancant 1000 http le temps requit pour traiter une requete reste sensiblement le meme. Statistiquement. Pour cet exemple.

Citer
Juste pour signaler que le module gzip n'est pas installé sur l'Apache des serveurs de PhpNet.

Sans vouloir faire de generalite, ces resultats prouvent tout au moins que le module gzip est bien installe sur phpnet.org. Ce n'est pas parce qu'un module n'est pas visible dans le phpinfo qu'il n'est pas disponible  :P . Si Thibaud a installe le module gzip, c'est bien pour permettre a certains de s'en servir. A chacun donc d'en faire un usage intelligent.

La bande passante n'est pas un probleme. Pour l'instant. La compression gzip des pages eleve la charge serveur. Toujours. Sans garantir un gain reel ; il existe encore des navigateurs qui n'interpretent pas le format gzip ou - pire - qui l'interpretent mal. D'autres methodes existent pour economiser la bande passante et accelerer la generation, le transfert et l'affichaque d'une page : alleger le code HTML, optimiser son code, caches SQL, caches HTML, cache PHP, cache local, optimiser ses requetes, etc...

Voila voila.
« Modifié: 11 octobre 2003 à 16:12:26 par Dash »

Hors ligne olly

  • Débutant
  • *
  • Messages: 15
Mod_gzip
« Réponse #3 le: 11 octobre 2003 à 17:40:10 »
Ca c'est de la réponse construite argumentée.

Merci pour ces infos B)  

Hors ligne MaximuS

  • Expert
  • ****
  • Messages: 577
    • The Caribbean Weblog
Mod_gzip
« Réponse #4 le: 11 octobre 2003 à 23:43:10 »
bravo brava !!

keske affleck à a répondre à ca ??

Hors ligne Dash

  • Débutant
  • *
  • Messages: 61
    • http://www.phpnet.org/forum/index.php?showuser=454
Mod_gzip
« Réponse #5 le: 12 octobre 2003 à 00:01:51 »
;)

Doucement. Je ne suis pas en train de dire que gzip c'est bien.
Simplement que le module est apparement installe. Rien d'autre.

A chacun a voir s'il en a *vraiment* besoin.
Inutile de compresser un document si c'est superflu pour vos utilisateurs et pour les autres clients phpnet.
Surtout que nous avons la chance de ne pas etre limite en bande passante. Trouvez d'autres raisons.

Si chacun optimise son code PHP, allege son code HTML et ses requetes SQL ce sera beaucoup mieux.
A titre d'exemple pour ma page d'index, je passe allegrement d'une traintaine de requetes /page a 0.
Pour mes forums ipb (toujours avec un cache), je descends en dessous de 5 requetes sur la page d'index (3 pour les visiteurs).
Moins de requetes a effectuer => pages plus rapides. Utilisateurs moins enerves.
Et ca, contrairement a gzip qui depend des capacites des navigateurs pour etre convenablement decompresse, je suis sur de l'impat que ca apporte.  :P

La compression gzip, bof. C'est bien, mais je peux m'en passer. J'ai mieux.  :lol:  

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Mod_gzip
« Réponse #6 le: 12 octobre 2003 à 00:26:36 »
ton post m'a mis la larme a l'oeil...
si tous les utilisateurs etaient comme toi alors phpnet irait encore 10x plus vite !!!
bravo...
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne MaximuS

  • Expert
  • ****
  • Messages: 577
    • The Caribbean Weblog
Mod_gzip
« Réponse #7 le: 12 octobre 2003 à 01:29:34 »
eh ben

tt lemonde s'en passera ....

Hors ligne Jmoati

  • Connaisseur
  • ***
  • Messages: 282
Mod_gzip
« Réponse #8 le: 12 octobre 2003 à 08:45:52 »
Citer
ton post m'a mis la larme a l'oeil...
si tous les utilisateurs etaient comme toi alors phpnet irait encore 10x plus vite !!!
bravo...
Faudrai savoir ...

J'avais commencé à me construire et super system de cache, mon  nombre de requête était tombé de 20 à 8 et thibeau à sortie dans un topic que le nombre de requête http (utilisé pour les cache) prenai trop de mémoire ...

Alors je pose la question ... Qu'est-ce qui prend le moin de mémoire et est ce que Thibeau à tjrs l'intention de limiter les phpnetien au nombre de "hit" ?

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Mod_gzip
« Réponse #9 le: 12 octobre 2003 à 11:24:25 »
si ton systeme de cache est fait en php il ne prendre aucun hit http...
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne Jmoati

  • Connaisseur
  • ***
  • Messages: 282
Mod_gzip
« Réponse #10 le: 13 octobre 2003 à 07:07:27 »
Citer
si ton systeme de cache est fait en php il ne prendre aucun hit http...
Même si j'utilise des include ?  :huh:

Bha je vais le remettre en place alors ... :o

J'ai vu que je pouvais baisser jusqu'à 2 reqêtes pour mon site et 3/4 sur mon forum phpBB2  :D  

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Mod_gzip
« Réponse #11 le: 13 octobre 2003 à 08:24:39 »
nan nan les fonctions php require et include n'utilisent 0 hits http!
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne Jmoati

  • Connaisseur
  • ***
  • Messages: 282
Mod_gzip
« Réponse #12 le: 13 octobre 2003 à 15:59:54 »
Citer
nan nan les fonctions php require et include n'utilisent 0 hits http!
Me suis trompé ...

Je voulais demandé pour fopen ...

Deja je vais commencé par remettre les scripts en include et les virer de ma bdd  :lol:  

Hors ligne Dash

  • Débutant
  • *
  • Messages: 61
    • http://www.phpnet.org/forum/index.php?showuser=454
Mod_gzip
« Réponse #13 le: 14 octobre 2003 à 16:29:19 »
Citer
ton post m'a mis la larme a l'oeil...
si tous les utilisateurs etaient comme toi alors phpnet irait encore 10x plus vite !!!
Et si mon hebergement pouvait etre facture 10 fois moins cher ? :wacko:


Je viens de retrouver un vieux bouquin. "PHP avance" (Arnaud GADAL, ed. micro Application, col. e-poche). Le sous-titre du livre annonce la couleur : Toutes les ressources pour optimiser vos codes PHP. Je vous livre un extrait :

Citer
jrcache, qui tire son nom des initiales de l'auteur, Jordan Russel, n'est pas la solution a tout les problemes qui se posent a un site frequente. Ainsi ce script n'est pas du tout destine a diminuer la charge du SGBD par exemple: les requetes sont en effet toujours executees. A quoi sert-il alors ? Son but est defaire encore mieux que la compression gzip, celle-le meme qui permet d'accelerer l'acheminement de la page generee par le serveur web jusqu'au navigateur de l'internaute en reduisant la taille de celle-ci. [...] Pas de compression gzip ici, les ressources CPU sont economisees (cela dit, nous avons vu que cette depense, faible, est benefique).  Jrcache repose en effet sur les Etags.

but: eviter qu'un utilisateur ne rapatrie des pages qu'il possede deja sur sa machine; economie de bande passante et vitesse de transfert.
principe:  on attribue a chaque page une "clee". ex: "id-dc097abfb78d4046c3a24efad371ed56" Avant d'envoyer une nouvelle page a l'utilisateur, on compare la clee renvoyee par son navigateur avec celle du document a envoyer. Si elles correspondent, on renvoit un code 304, sinon on envoit le document.

Citer
HTTP/1.x 304 Not Modified
Date: Tue, 14 Oct 2003 13:43:07 GMT
Server: Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7b PHP/4.2.2 mod_tsunami/1.1
X-Powered-By: PHP/4.2.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Etag: "id-dc097abfb78d4046c3a24efad371ed56"
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 26
Keep-Alive: timeout=6, max=40
Connection: Keep-Alive
Content-Type: text/html

Bref. Entre gzip, Etags, caches et autres systemes, aucune solution d'optimisation n'est mauvaise en soi. A chacun a voir en fonction de ses besoins. Il est possible d'optimiser cote serveur (code PHP, requetes SQL, etc.), dans le transfert gzip/Etags et cote client (HTML, images/javascript, etc.)

Personnellement, en fonction des pages a afficher, je combine gzip, etag, caches en cascade [html/sql/php]...
Ce qui me donne les resultats suivants pour 10 requetes effectuee cette  apres-midi:

Citer
$>ab -n 10 -c 2 -C "anonlogin=-1; pass_hash=0; login=0; member_id=0; PHPSESSID=ea1b5a1b5512e8fzv4a428b2a8a22ec0; session_id=8699e1310a25faf3aeba01a95u2937fa" -H "Accept-Encoding: gzip" http://www.alliance-pbem.net/index.php
This is ApacheBench, Version 2.0.36 <$Revision: 1.97 $> apache-2.0
Copyright © 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright © 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.alliance-pbem.net (be patient).....done


Server Software:        Apache/1.3.28
Server Hostname:        www.alliance-pbem.net
Server Port:            80

Document Path:          /index.php
Document Length:        4450 bytes

Concurrency Level:      2
Time taken for tests:   2.453528 seconds (CONTRE : 19.998757 seconds)
Complete requests:      10
Failed requests:        0  (CONTRE : 9 !)
Write errors:           0
Total transferred:      49260 bytes (CONTRE : 437966)
HTML transferred:       44500 bytes (CONTRE : 433256)
Requests per second:    4.08 [#/sec] (mean)
Time per request:       0.491 [ms] (mean)
Time per request:       0.245 [ms] (mean, across all concurrent requests)
Transfer rate:          19.56 [Kbytes/sec] received

Citer
temps php | requetes sql | temps php - avant | requetes sql - avant |
---------------------------
2.1171219348907 | 3   ( CONTRE 4.2833189964294 | 19 )  
0.091418981552124 | 0   ( CONTRE 3.2583099603653 | 6 )
0.097491979598999 | 0   ( CONTRE 3.1388210058212 | 6 )
0.12760996818542 | 0   ( CONTRE 3.2583099603653 | 6 )
0.22324001789093 | 0   ( CONTRE 2.2338690757751 | 6 )
0.20255196094513 | 0   ( CONTRE 2.7815979719162 | 6 )
0.1844539642334 | 0   ( CONTRE 2.5253380537033 | 6 )
0.10812091827393 | 0   ( CONTRE 2.9151619672775 | 6 )
0.10525190830231 | 0   ( CONTRE 2.8028910160065 | 6 )
0.14165198802948 | 0   ( CONTRE 2.5699119567871 | 6 )

Les systemes de cache etant - pour la plupart - ignores, le nombre de requetes SQL est plus consequent, les traitement sont plus longs et donc la probabilite que l'utilisateur ait droit a un message d'erreur est plus importante.

La difference entre une page optimise et une page non-optimise est flagrante, non ?  ^_^  

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Mod_gzip
« Réponse #14 le: 14 octobre 2003 à 17:37:13 »
pourrait tu expliquer un peu plus ta methode sil te plait, elle est tres interessante...
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)