Windows - Az Internet Information Services (IIS) 6.0 újdonságai

Az Internet Information Services (IIS) legújabb 6.0-ás verziója a Windows .NET szerverekben jelenik meg. Hetilapunkban már több cikket közöltünk az újdonságairól, jelen részünkben a kevésbé látható belsővel foglalkozunk. Vajon a megváltozott külső milyen belső változásokat takar? Növekszik-e a teljesítmény és ezzel együtt a megbízhatóság? És ha igen, akkor ez minek köszönhető?
Az IIS 6.0 cikkünk írásának idején Béta 3 verzióban volt elérhető ezért a végleges változatban lehetnek eltérések a leírtakhoz képest.
Néhány szó az eddigi verziókról és az operációs rendszerekről
IIS 4.0 - Windows NT 4.0-ban található, 32 bites platformon fut, nem támogatja több kiszolgáló eggyé fürtözését (clustering), a beállításokat tároló metaadatbázis bináris alapú.
IIS 5.0 - Windows 2000-ben jelent meg, 32 bites, a fürtözést az IIS Clustering-en keresztül lehet megvalósítani, a beállításokat tároló metaadatbázis bináris alapú.
IIS 5.1 - Windows XP Professional, 32 bites, a Windows fürtöző szolgáltatásába csatlakoztatható, a beállításokat tároló metaadatbázis bináris alapú.
IIS 6.0 - Windows .NET Server, 32 és 64 bites, szintén a Windows fürtöző szolgáltatásába csatlakoztatható, a beállításokat tároló metaadatbázis XML alapú.
Új metaadatbázis
Az IIS minden beállítást, beleértve a Web és FTP helyek virtuális könyvtárait is egy metaadatbázisban tárolt, bináris formátumban. Ennek legnagyobb hátránya az volt, hogy nem olvasható és szerkeszthető kívülről. Az IIS 6.0 nem használ bináris adatbázist, helyette a beállítások XML alapú állományban tárolódnak, élvezve az XML minden előnyét: olvasható, írható, programozható - akár egyszerű eszközökkel (pl.: notepad) is. Egészen pontosan a %systemroot%\system32\inetsrv\metabase.xml fájlról van szó, továbbá a MBSchema.xml tárolja a sémát. Az új tárolási módszer előnyei közé sorolható a könnyebb hibakeresés, gyorsabb adatelérés (az IIS is gyorsabban indul), jobb skálázhatóság.
Beállítások mentése, helyreállítása
Az IIS 6.0 beépített szolgáltatása lehetővé teszi a teljes metaadatbázis biztonsági fájlba mentését, akár több példányban is. Később ezek a mentések visszaállíthatók ugyanazon vagy egy másik gépen. A funkció nagyon hasznos, ha egy esetleges rendszerösszeomlás után kell újratelepíteni az IIS-t. Ekkor ugyanis néhány kattintással visszaállítható az eredeti állapot, beleértve az összes beállítást, Web és FTP helyet. A mentés - automatikusan - rendszerszinten is megvalósul, minden metaadatbázisba történő írásnál. Ilyenkor nem a teljes adatbázis mentődik el, hanem egy napló (history) készül az elvégzett műveletekről.
Új architektúra
Az IIS 6.0 nem csak abban különbözik a korábbi verzióktól, hogy több és jobb adminisztrációs lehetőséget biztosít és más szerkezetű az adatbázisa, hanem teljesen átdolgozták a magját is, növelve a rugalmasságát, skálázhatóságát és megbízhatóságát. A tervezéskor figyelembe vették, hogy manapság a Weboldalak komplexitása és mérete egyre növekszik, gyakoribbak az interaktív, dinamikusan generált oldalak és ezek mögött egyre nagyobb adatbázisok húzódnak meg. Amit az IIS ez ügyben tenni tud, hogy automatikusan felismeri a pillanatnyi terhelés igényelte erőforrás szükségletet és ennek megfelelően dinamikusan foglalja le a memóriát és az egyéb erőforrásokat. Amikor csökken az igénybevétel, akkor felszabadítja a használaton kívüli kapacitást. Képes felismerni és elhárítani a memória szivárgásokat (memory leaks), hozzáférési jogsértéseket és más hibákat.
Egymástól elszigetelt munkafolyamatok
A Webalkalmazások egymástól elszigetelt munkafolyamatokba kerülnek. Létrehozhatók úgynevezett alkalmazás készletek (application pools), amelyek osztozhatnak egyes munkafolyamatokon, de más készletekhez nem férhetnek hozzá. Így egy Webalkalmazás lefagyása, sérülése nemhogy nem dönti romba az IIS-t, de még más alkalmazásokra sem gyakorol hatást.
Kernel szintű várakozási sor
Az IIS 6.0 HTTP szolgáltatása (http.sys) a bejövő HTTP kéréseket képes egy átmeneti tárolóban (cache) tartani, mielőtt továbbadná a Web szolgáltatásnak. Főleg gyakran foglalt Web szolgáltatások esetén ezzel jelentős sebességnövekedést lehet elérni.
Web Administration Service (WAS)
Az IIS 5.0-ban még közös folyamatban (INETINFO.EXE) futott a Web kiszolgáló folyamat és az alkalmazás kódja. Az IIS 6.0 magját alkotó Web Administration Service és a http.sys teljesen függetlenítve lett az alkalmazás kódoktól. Utóbbiak semmiképp nem gyakorolhatnak negatív hatást a szolgáltatásmagra.
Automatikus folyamat újraindítás
Hibásan működő vagy lefagyott folyamatokat az IIS 6.0 automatikusan újraindítja vagy külön kérésre beállítható egy periodikus újraindítás.
Automatikus nyomkövetés
Minden folyamatot automatikus nyomkövetés (automated debugging) kísér. Hiba esetén eseménynapló készül, segítve az ok felderítését.
IIS 5.0 üzemmód
Azon alkalmazások számára, amelyek az IIS 6.0 biztonsági követelményei mellett nem futnak, beállítható az IIS 5.0 folyamatkezelési módjának használata, megőrizve a régi alkalmazásokkal való kompatibilitást. Ez nem jelenti azt, hogy ezzel teljesen IIS 5.0-ként működne, továbbra is megmarad számos biztonsági funkció.
Beépített Passport támogatás
A Microsoft Passport rendszer kliensoldali változatának használatához a Windows XP teljes körű támogatást nyújt. Az IIS 6.0-ba bekerül ennek a kiszolgáló oldali támogatása, megkönnyítve a szolgáltatás Webhelyeken való használatát.