J'utilise le cache de proxy inverse nginx avec gzip activé. Cependant, des requêtes HTTP d'applications adressées à mon service Web JSON Rails m'ont posé quelques problèmes. Il semble que lorsque je désactive le cache de proxy inverse, cela fonctionne bien car l'en-tête de réponse est fourni sans gzip. Par conséquent, je pense que le problème est causé par gzip. Quel est le niveau de compression gzip le plus approprié?
gzip on;
gzip_http_version 1.0;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss;
J'ai testé cela sous nginx 1.3.9 avec deux fichiers et ce sont les résultats que j'ai obtenus pour les différents niveaux:
text/html
- phpinfo ():application/x-javascript
- jQuery 1.8.3 (non compressé):Je ne suis pas sûr que ce soit représentatif, mais cela devrait servir d'exemple. De plus, je n'ai pas pris en compte l'utilisation du processeur, mais à partir de ces résultats, le niveau de compression idéal semble être compris entre
4
et6
.De plus, si vous utilisez le
gzip_static
module, vous voudrez peut-être pré-compresser vos fichiers (en PHP):Cela vous permet d'obtenir la meilleure compression possible sans sacrifier le processeur à chaque requête.
la source
Si vous pouvez réellement économiser les ressources du processeur, vous pouvez utiliser 9, mais pour la plupart des sites, une valeur de 2 suffit, car gzip ne réduit pas beaucoup le fichier après le niveau 1.
Edit: J'ai consulté Amazon CloudFront qui semble utiliser le niveau 6, probablement parce que ce niveau exécute la décompression plus rapidement, ce qui améliore les performances de rendu de la page.
la source
Si vous avez un site Web à volume élevé et souhaitez toujours disposer d'un niveau de compression complet (9), la meilleure idée serait de placer votre contenu statique sur Amazon S3 ou des services de stockage d'objets similaires et de télécharger les fichiers compressés.
Vous voudriez toujours utiliser nginx pour compresser votre code HTML, il est donc préférable de garder cette valeur normale, j’utilise 5 ici.
la source
comp_level
dans ma configuration, je ne peux donc pas dire à quel niveau je suis actuellement. Savez-vous quels sont les défauts? La source?