Comment puis-je obtenir la compression gzip dans IIS7 de travail?
J'ai installé Statique et dynamique de compression pour IIS7, ainsi que de mettre les deux web.config
valeurs à ma demande Virtual Folder
niveau. Si je comprends bien, je n'ai pas besoin d'activer la compression sur le serveur, ou au niveau du site, et de plus, je peux le gérer sur une base par dossier à l'aide de mon web.fichier de configuration.
J'ai deux paramètres dans mon .config
fichier que j'ai mis à personnaliser gzip pour mon application:
<httpCompression dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="0">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<remove mimeType="*/*"/>
<add mimeType="*/*" enabled="true" />
</dynamicTypes>
</httpCompression>
<urlCompression doDynamicCompression="true"
dynamicCompressionBeforeCache="true" />
Cependant, lorsque je lance l'application, je peux voir clairement que gzip n'est pas utilisé, parce que ma page les tailles sont les mêmes. Je suis également en utilisant YSlow pour FireFox, qui confirme aussi que mes pages ne sont pas gziped.
Ce qui me manque ici? Dans IIS6 c'était une simple question de spécifier les types de fichiers, et le réglage du niveau de compression entre 0 et 10. Je ne vois pas la nécessité documenté pour spécifier les types de fichiers ou le niveau de compression, puisque les valeurs par défaut semblent couvrir les types de fichiers, et je ne suis pas de voir le niveau de n'importe où.
- De 0 vote, Veuillez jeter un oeil à ce post: stackoverflow.com/a/7634875/1131855 je n'étais pas en mesure de modifier applicationHost.config via Notepad++. Ce lien suggéré une commande de la console qui a fonctionné pour moi
Vous devez vous connecter pour publier un commentaire.
Il y avait un thread sur forums.iis.net à ce sujet lors de l'iis 7 bêta. S'est avéré que le gars n'avait pas les modules installés, mais il semble que vous avez jugé que votre phrase d'ouverture.
Microsoft clé de conseils pour lui était de permettre suivi des demandes ayant échoué à trouver ce qui n'allait pas. C'est peut-être l'un des plus sous-estimé les caractéristiques de IIS7, mais certainement l'un des plus puissants.
Si vous ne voyez pas "suivi des demandes ayant Échoué" dans le volet actions, vous aurez besoin d'ajouter la fonctionnalité du serveur - soit en cliquant sur "Ajouter des Services de Rôle" assistant (état de Santé et Diagnostics\Tracing) ou via le Web Platform Installer (Produits\Serveur\IIS: Traçage), puis fermez et ré-ouvrez le Gestionnaire des services IIS.
Prochaine, réexécutez le test. Cela va générer quelques info connectez-vous pour nous examiner.
Regarder dans c:\inetpub\logs\FailedReqLogFiles\w3svcx. Vous verrez un tas de fichiers nommés fr000xx.xml. Ouvrir dans votre navigateur. (En passant, si vous copiez ces fichiers n'importe où, assurez-vous que freb.xsl est là. Aussi, ne pas supprimer freb.xsl - si vous le faites, il suffit de supprimer le répertoire entier ou de le copier à partir d'un autre emplacement, comme IIS crée seulement une fois par dossier.)
Cliquez sur le bouton 'détails de la demande de l'onglet et sélectionnez "demande complète de trace". Recherche la page de "comprimer" - vous devriez le trouver dans plusieurs domaines; la fois pour le contenu statique, et une fois pour le contenu dynamique.
Si vous ne trouvez pas l'un d'eux, IIS n'est pas correctement configuré. Si vous les trouvez, vous devriez les voir suivie par un compression_success et un compression_do. Le succès est auto-explicatif; le "faire", indique ce qu'il a fait, dans mon cas, il a montré "OriginalSize 1462784 CompressedSize 179482"
Depuis le vôtre ne fonctionne pas, j'espère que vous verrez quelque chose de différent qui vous aide à résoudre le problème.
Assurez-vous que vous désactivez cette fonction lorsque vous avez terminé par la désactivation du suivi des demandes ayant échoué dans le volet actions pour votre site web.
Nous avons eu un problème similaire et il s'avère que IIS7 fait de la dynamique du PROCESSEUR en fonction de la limitation ici..
http://www.iis.net/ConfigReference/system.webServer/httpCompression
Remarque les valeurs par défaut -- si votre IIS7 hits 90% d'utilisation du PROCESSEUR, il sera désactiver toutes les dynamiques au format gzip contenu jusqu'à ce que l'utilisation CPU creux de retour en dessous de 50%!
Également, quelques grands recommandations et repères ici sur le véritable coût de l'UC de GZIP.
http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx
Longue histoire courte, sauf si vous avez régulièrement des pages dynamiques, bien au-delà de 200 ko, c'est un non-problème.
Suivant les excellents conseils de JohnW, j'ai aussi activé la journalisation de trouver le coupable, bien que la raison de l'échec s'est avéré être différent:
En bref, il apparaît que si vous n'avez pas accès à la page assez fréquemment, puis IIS7 sera pas jugé digne de la compression, ce qui semble un peu étrange pour moi. Néanmoins, n'a de sens dans ce cas parce que j'étais juste en train de tester sur une machine locale.
Selon cette page, la valeur par défaut semble être qu'une page doit être frapper 2 fois dans les 10 secondes pour être un "fréquent hit". Si vous le voulez vraiment, vous pouvez remplacer la valeur par défaut dans applicationHost.config (%systemroot%\Windows\System32\inetsrv\config). Au moins pour moi, c'est un blocage de l'attribut, donc vous ne serez pas en mesure de remplacer dans votre propre site web.config.
Aussi, je remarque maintenant que DONC déjà eu cette réponse ici: Dans IIS7, les fichiers gzip ne pas rester de cette façon.
J'ai résolu mon problème en installant la compression dynamique à Ajouter/Supprimer des programmes.
Dans le système.serveur section de votre site Web.fichier de config, ajoutez les lignes suivantes:
Le schéma de compression dans IIS7 est activé par défaut, mais il cartes qu'une seule javascript type mime d'être comprimé, application/x-javascript. En ajoutant la ligne ci-dessus indique IIS pour donner à tous vos .js fichiers de ce type mime, ce qui rend le travail de compression.
application/x-javascript
, mais a été comprimantapplication/javascript
activer la compression statique. la compression dynamique est pour les pages dynamiques, comme asp, php, aspx, etc.
Voici un lien vers le IIS config de référence pour la compression:
Pour moi, il s'est avéré être le paramètre
que nous sommes sur un proxy ici...a pris moi-même hors de proxy et le tour est joué, la compression.