2012-09-28 22 views
7

ASP.NET MVC'de IIS7.5 gzip sıkıştırma ayarlarını etkinleştirmek ve yapılandırmak için web.config dosyasını kullandım. Ama düzeyi ayarları hiçbir etkiye sahip görünmektedir sıkıştırmak:IIS7 gzip sıkıştırma düzeyi ayarı

<scheme name="gzip" dynamicCompressionLevel="9" staticCompressionLevel="9"/> 

iki ayarda da sıkıştırma seviyesinde = 0 ile Anasayfam sıkıştırma seviyesinde = 9 için birlikte (39,623 itibaren) 9290 bayt

için gzipli olduğunu o yüzden - her iki ayar, benim ana sayfa (39,623 itibaren) 9290 bayt

sıkıştırma miktarında bir fark yoktur (sıkıştırılmış/sıkıştırılmamış boyutlarını kontrol etmek kemancı kullanarak) için gzipli olduğunu? Bu benim yerel geliştirme makinemde gerçekleşir - Windows 7. Henüz Win 2008 web sunucumuzda denemedim. web.config'de

Tam sıkıştırma ayarları:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="10" staticCompressionLevel="10"/> 
    <dynamicTypes> 
    <add mimeType="text/*" enabled="true"/> 
    <add mimeType="message/*" enabled="true"/> 
    <add mimeType="application/javascript" enabled="true"/> 
    <add mimeType="application/x-javascript" enabled="true"/> 
    <add mimeType="application/xml" enabled="true"/> 
    <add mimeType="*/*" enabled="false"/> 
    </dynamicTypes> 
    <staticTypes> 
    <add mimeType="text/*" enabled="true"/> 
    <add mimeType="message/*" enabled="true"/> 
    <add mimeType="application/javascript" enabled="true"/> 
    <add mimeType="application/x-javascript" enabled="true"/> 
    <add mimeType="application/xml" enabled="true"/> 
    <add mimeType="*/*" enabled="false"/> 
    </staticTypes> 
</httpCompression> 
<urlCompression doStaticCompression="true" doDynamicCompression="true"/> 

DÜZENLEME: görünüşte en üst düzey Bu sayfa 10 ama http://www.iis.net/configreference/system.webserver/httpcompression/scheme yanlış olmalı diyor 9'dur. Eğer bazı compression defaultsdynamicCompressionDisableCpuUsage% 90'a ayarlanır ve dynamicCompressionEnableCpuUsage altında gitmek kadar sıkıştırma tekrar atmayacak geçersiz kılma bakmak olabilir dynamic compression installed

İleri sahip iki kez kontrol edin düzeyi 9

cevap

2

kullanırken sorun hala aynı hangi varsayılan% 50'dir. İkincisini yükseltmeyi öneririm.

Failed request tracing da sorunu nokta yardımcı olabilecek sorun bu tür SO üzerinde severalplaces önerilir.

aşağıdaki soruları

How can I get gzip compression in IIS7 working? bazı ayrıntılı cevaplar vardır

Compression is not working

GÜNCELLEME:

ayar uygulama düzeyinde kilitlenebilir ve böylece çalışan aşağıdaki denemelisiniz :

appcmd set config -section:urlCompression /doDynamicCompression:true 

Eğer hala bir sorunsa, increased with later IIS versions numaralınumaralı telefonun ayarlanması için minFileSizeForComp ayarlamaya değer olabilir.

Yorumlara göre, bunu yapmaya çalışırken, yalnızca statik yapmak ve durdurmak için dinamik bir işlem yapmayı deneyin.

+0

Üzgünüm, beni rahatsız etse bile bu soruya geri dönmeyi başaramadım. Dinamik sıkıştırma yüklü ve çalışıyor. Ancak sıkıştırma seviyesini değiştirmek –

+0

@ JK'ya göre statik sıkıştırma ayarlamayı denediniz mi ve sadece dinamik mi yapıyorsunuz? Cevabı diğer önerilere göre güncelledim – dove

1

Ana sayfanız dinamik olarak oluşturulmuyorsa, dynamicCompressionLevel dinamik olarak etkili olmaz.

Statik sıkıştırma varsayılan olarak etkinleştirildiğinden, muhtemelen giriş sayfanızın sıkıştırılmış bir sürümü zaten önbelleğe alınmıştı. Ana sayfanızı basitçe değiştirmeyi deneyebilirsiniz (ör. Sadece bir karakteri değiştir). Daha sonra yeni ayar ile yeniden sıkıştırılmalıdır.

Varsayılan statik sıkıştırmanın zaten 9. seviyede olması mümkündür.Herhangi bir değişiklik görmüyorsanız, fark olup olmadığını görmek için 'u statik seviyesini 1'e düşürmeyi de deneyebilirsiniz.

Sen DLL sağlamaları gerekebilir:

<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" /> 
+0

Görünüşe göre dinamik sıkıştırma modülü dinamik içerikle sınırlı değil. Kendi testlerimde, mime türleri listesine uyan ve sıkıştırılmış olmayan sıkıştırılmış statik içerik yapar. Her istekte tetiklenen bir "dinamik sıkıştırma modülü" olarak anlaşılmalıdır. Statik modül, dosyalar üzerinde çalışan bir arka plan işlemine benzer bir şekilde tetiklenir ve sıkıştırılmış çıktıya yalnızca önbelleğinde bulunduktan sonra sunulmaya başlar. –

0

sizin MVC boru hattı bir sıkıştırma filtresi içeriyor mu?

Evet ise, IIS dinamik sıkıştırma modülünden öncelikli olacaktır. IIS dinamik sıkıştırma modülü, http sıkıştırılmış olan çıktıyı sıkıştırmaya çalışmadığından, bu modüldeki ayarların MVC sayfanızda hiçbir etkisi olmayacaktır.