Kompresjon for web-sider er et stort steg fremover. Har du i hovedsak statiske tekstsider så vil web-sidene lastes opptil 4 ganger raskere!
Mesteparten av informasjonen her er hentet fra Scott Forsyth's Blogg: IIS Compression in IIS6.0
Om en slår på kompresjon for statiske sider i IIS6.0 så er det kun htm, html, og txt sider som blir komprimert!
For å slå på kompresjon for andre filtyper så må en inn i ISS6.0 sin metabase. Metabasen tilsvarer registry i Windows og er på XML format.
Ser ut til at GUI-gjengen hos M$ ikke greide og henge med de som utviklet IIS, for skal en konfigurere kompresjon utenom og "fikle" med Metabasen så må en ty til tredjeparts verktøy!
Om "fikling" med Metabasen sender frysninger nedover ryggraden, så sjekk ut: http://www.port80software.com/
Punkt 1: Ta backup av Metabasen, det gjør du ved og høyreklikke på serveren i IIS-admin og velge All Tasks - Backup/Restore Cofiguration.
Punkt 2: Slå på kompresjon i IIS
- I IIS-admin høyreklikk Web Sites og klikk på Properties.
- Velg Service flippen
- Slå på Enable Compress application files
- Slå på Compress static files
- Om du har trangt med plass så set begrensning på størrelsen.
- Lagre og lukk dialogen
Punkt 3: Lag ny Web Service Extension
- I IIS-admin velg Web Service Extensions
- Lag en ny web service extension
- Kall den HTTP Compression
- Og pek den til c:\windows\system32\inetsrv\gzip.dll
- Huk av Check the Set status checkbox so that it is enabled (Allowed)
Punkt 4: Slå på Metabase editering
Dette for å lettere kunne redigere Metabasen, alternativet er å bruke adsutil.vbs
- Høyreklikk serveren i IIS-admin, velg Properties og huk av for Enable Direct Metabase Edit
Punkt 5: Redigering av Metabasen
- Åpne metabasen: C:\Windows\system32\inetsrv\metabase.xml i notisblokk
- Søk etter <IIsCompressionScheme
- Det skal være to av de, en for deflate og en for gzip.
- Legg til filendelser for dynamiske filer under HcScriptFileExtensions for både deflate og gzip.
- Legg til filendelser for statiske filer under HcFileExtensions for både deflate og gzip.
- Endre begge HcOnDemandCompLevel og begge HcDynamicCompressionLevel til 9. (10 bruker uforholdsmessig mye CPU i forhold til oppnådd komprimering)
Min metabase.xml:
NB: Har ikke slått på komprimering av dynamiske sider siden dette blir gjordt av vår applikasjonsserver(Resin)
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="FALSE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
js
css
txt"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
js
css
txt"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
Punkt 6: Restart IIS
Kan gjøres fra IIS-admin eller fra CMD-Promt med iisreset
Anbefaler og lese Scott Forsyth's Blogg: IIS Compression in IIS6.0 for mer utfyllende forklaringer.
Linker:
- IIS Compression in IIS6.0
- Fundamentals of Web Site Acceleration
Ove B-) |