Az Internet Information Services 7 komponensei között találunk két olyan elemet, amelyek segítségével jelentősen növelhetjük a webkiszolgálónk teljesítményét, mégpedig gyakorlatilag a webalkalmazás módosítása nélkül, pusztán üzemeltetői eszközökkel.
Az egyszerűbb funkció a tömörítés, azaz a compression. Ezzel a funkcióval a szervertől a böngésző felé menő forgalmat csökkenthetjük azáltal, hogy a kiszolgáló átküldés előtt tömöríti az átküldendő adatokat, amit a böngésző automatikusan kitömörít. A háttérben ez úgy valósul meg, hogy a kliens egy Accept-Encoding fejléc átküldésével jelzi a szervernek, hogy képes tömörített válasz feldolgozására. Az IIS 7-ben a statikus állományok tömörítése alapértelmezés szerint be van kapcsolva, a dinamikus állományokra (.aspx, .php stb.) pedig külön engedélyezhetjük a tömörítést. A grafikus felületen nincs lehetőség a funkció finomhangolására (például a tömörítés fokának a megadására), azt közvetlenül az applicationHost.config állományban tehetjük meg a system.webServer/httpCompression elemben.
A másik teljesítményfokozó funkció a gyorsítótárazás, azaz a kiszolgáló oldali cache használata. Ezzel a funkcióval a webkiszolgáló képes a statikus fájlokat vagy a generált oldalak HTML kódját memóriában tartani és így elkerülni azok ismételt felolvasását a diszkről, illetve szükség esetén a fordítását és futtatását. Az IIS 7 bizonyos körülmények között akár kernel szintű gyorsítótárazásra is képes, amely jelentős teljesítmény növekedést eredményez. Az IIS Manager grafikus felületén akár kiterjesztés szerint megadhatjuk, hogy mennyi ideig próbálja a rendszer gyorsítótárban tartani a fájlt, valamint megadhatjuk azt is, hogy különböző fejléc mezők (pl. Accept-Language) vagy query string értékek szerint több változat is gyorsítótárba kerüljön.
Demó
Lejátszáshoz kattints a képre
Letöltés: Teljesitmeny.wmv (19:04, 94.8 MB)
Első lépések
Ahhoz, hogy a tömörítés és a gyorsítótárazás működjön, telepítenünk kell a Performance, a Static Content Compression és a Dynamic Content Compression modulokat. Ezek után az IIS Managerben az Output Caching és a Compression menüpontok alatt tudjuk bekapcsolni ezeket a funkciókat.
Jó tudni
A tömörítés jelentős processzor terhelést generálhat a szerveren, melynek finomhangolására system.WebServer/httpCompression ágban számos opciót találunk. Ezeket a paramétereket csak a konfigurációs állományban módosíthatjuk, nincsenek kivezetve a felhasználói felületre.
A gyorsítótárazás bekapcsolása után nem kerül minden fájl automatikusan a cache-be, az IIS 7 meghatározza, hogy melyek azok a fájlok, amelyek célszerű memóriában tartani. Alapértelmezés szerint ehhez az szükséges, hogy az adott állományt 10 másodpercen belül legalább kétszer kérjék le a kliensek. Ezek a beállítások a system.WebServer/serverRuntime ágban található frequentHitThreshold és frequentHitTimePeriod attribútumokkal módosíthatóak.
További információk