MOSS blobcache

Aki ismeri az ASP.NET cache szolgáltatásait és tudja, hogy a SharePoint az ASP.NET-re épül, annak számára nem újdonság, hogy a SharePoint is támogatja az output cachinget és az object cachinget. Amit viszont nem tud az ASP.NET, de a SharePoint igen, az a blob cache.

Tudvalevő, hogy a SharePoint a megjelenítéshez használt fájlok egy részét fájl rendszerben, más részét pedig adatbázisban tárolja. A fájl rendszer gyors, az adatbázis lássú. Ezért aztán inkább azt szeretjük, ha a fájl rendszerből tudja a rendszer kiszolgálni a kéréseket. Különösen érdekes ez akkor, amikor sok apró fájlt kell visszaküldeni a kliensre, mint például az apróbb képek, stíluslapok és kliens oldali szkript fájlok.

Nevével ellentétben elsősorban ezeknek a tipikusan ritkán változó apró fájloknak a gyorsítótárazására találták ki a blob-, vagyis binary large object cache-t. Ha ezt bekapcsoljuk, akkor a kliens a webszerver fájl rendszerében közvetlenül kaphatja meg az ott tárolt fájlokat, nem kell értük elmennie a kérésnek egészen az adatbázisig.

Bekapcsolni nagyon egyszerű, web.config-ot kell módosítani. Az alábbi sztringet megtaláljuk a fájlban telepítés után, csak állítsuk az enabled tulajdonság értékét false-ról true-ra:

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" enabled="true" />

A location értelemszerűen az a mappa, ahova a gyorsítótár kerül. Ezt célszerű nem az alapértelmezett helyén, a C:\blobCache mappába tenni, bátran vigyük át másik meghajtóra.

A path egy reguláris kifejezés, nyugodtan átírhatjuk, alapértelmezés szerint a gif, jpg, png, css és js végződésű fájlok kerülnek a gyorsítótárba, de bővíthetjük a listát.

A maxSize paraméter a cache mérete gigabájtban, nem aprózták tehát el.

Itt ugyan nem szerepel, de létezik egy max-age attribútum is, ahol megadhatjuk, hogy a kliensek hány másodpercig tárolhatják el ezeket a fájlokat. Ez alapértelmezés szerint 86400, tehát 24 óra.

Mindezt web applicationönként állíthatjuk, tehát készüljünk fel arra, hogy esetleg több helyen is kell módosítanunk telepítés után. A Central Admin Site például tipikusan olyan, ahol ezeket a fájlokat nyugodtan lehet gyorsítótárazni, az éles publikus szerverünk meg aztán végképp. A fejlesztői web applicationre viszont a kevesebb debuggolás érdekében nem érdemes bekapcsolni. Nem árt tudni, hogy draft és checked out állapotban lévő fájlokat a rendszer nem cache-el.

A cache-t természetesen lehet üríteni is, ám itt jön az igazi csavar, az opciót ugyanis nem web application, hanem site collection szinten vezették ki a felhasználói felületre. Ehhez tehát:

  1. Navigáljunk el a Site Settings oldalra, majd ott kattintsunk a Go to top level site settings linkre.
  2. A Site Collection Administration oszlopban kattintsunk a Site collection object cache linkre. Ez nem azt jelenti, hogy a blob cache és az object cache ugyanaz. Ez azt jelenti, hogy a blob cache nem kapott saját menüpontot, hanem ide dugták az ellenség megtévesztése érdekében.
  3. A Disk based cache reset opciónál kattintsuk be a Force this server to reset its disk based cache opciót. Vigyázat, ez az egész szerver összes webalkalmazásának gyorsítótárát törölni fogja!

Tehát bekapcsolni web application szinten lehet, az opciót site collection szinten találjuk meg, de az egész szerverre vonatkozik. Az egész farmra vonatkozó törlési lehetőséget pedig csak az object cache kapott. Igazán logikus, nem?



Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2008.02.29. 18:46:16 | Permalink | Hozzászólások: 0 | Tárgyszavak:


  • OutputCache például felhasználói szerepkör alapján

    Dávid Zoltán Az egyik legerősebb ASP.NET eszköz a generált HTML tartalom gyorsítótárazásának lehetősége: Az oldal (vagy modul) tetején elhelyezett OutputCache direktívával elérhetjük, hogy az oldal (vagy modul) generált HTML tartalma több percre vagy órára is a szerver memóriájában maradjon. Ezzel brutális terheléseket tudunk kiszolgálni. A megjelenítendő tartalomnak azonban néha változnia kell. Erre szolgál az OutputCache direktíva Duration attribútuma. Egyszerűen megadjuk, hogy hány másodpercenként frissüljön a cache és kész… Tovább »
  • Az IIS 7 felügyelete távolról

    Balássy György (MS RD, ASP.NET MVP, MCTS) Az Internet Information Services 7 egyik újdonsága, hogy a webkiszolgálót üzemeltető rendszergazdák távolról is teljeskörűen hozzáférhetnek a webszerver beállításaihoz. A korábbi, MMC konzolon alapuló megoldás gyakorlatilag csak belső hálózaton keresztül volt használható, most viszont szabványos és titkosított HTTPS csatornán keresztül csatlakozhatunk az IIS Managerrel a szerverhez. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások