|
Oportunistické zamykání
Rubrika: Fand - Technická podpora / Ostatní
Datum vydání: 17.7.2002
Adresa článku: http://www.alis.cz/clanky/detailClanku.jsp?id=346
Základní myšlenkou tohoto mechanismu je urychlit práci se sdílenými soubory.
Takto otevřené soubory standardně není možno kešovat ze serveru do paměti stanice (klienta), neboť konkurenční stanice by "neviděly" data, kešovaná na jinou stanici (Pozor na to, že nejde o kešování na úrovni serveru, které je běžné - a funguje - na všech typech známých serverů). Tento fakt (nekešování) vede k výraznému zpomalení práce se sdílenými soubory, řádově 10 - 20 násobné zpomalení oproti exclusívnímu režimu. Smyslem použití oportunistického zamykání je to, že za určitých okolností povolí server vykešování dat na klienta i pro sdílený soubor, což vede k (výraznému) zrychlení. To je ovšem možné jen v případě, že ostatní klienti "nedělají nic závažného". Oportunistické zamykání má několik úrovní (3) z nichž některé zahrnují i další efekty, např. takové, že stanicí uzavřený soubor (close handle) server neuzavře a ponechá ho vykešovaný na stanici. Poznámka: Pokud zde přemýšlivý čtenář-programátor začíná mít podezření na zdroj možných potíží při sdílení dat, bude mít asi pravdu, neboť situace v praxi - z hlediska stability konečných aplikací vypadá následovně:
OdkazyOriginální (anglický) termín pro oportunistické zamykání je opportunistic lock, velmi často se používá zkráceně oplock.
Stručně základní nastavení:Podle zkušeností z praxe by se měl oplock vypnout vždy, když je podezření na problémy při práci se soubory v síťovém prostředí. To jest občasné chyby na souborech, bezdůvodné reindexování, neobvyklé zpomalení aplikace, ... V podstatě na Win NT, 2000, XP nám není známo jiné nastavení systému Win, které by mělo na souborové operace v síti LAN nějaký zřetelný vliv.V některých diskuzích na NETu se uvádějí i možnosti optimalizace OPLOCKu, ale to asi bude dost individuální pro jednotlivé aplikace a hlavně pro konkrétní instalaci sítě. WinNT, XP, 2000, server 2003Registry (program REGEDIT, jen pro pokročilé !)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxSmb\Parameters]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] Obecně platí, že pokud není odpovídající klíč v registru uveden, platí jeho implicitní hodnota. Přesné významy jednotlivých klíčů lze dohledat na WEBu Microsoftu. Pokud se vypnutí OPLOCKU na dané síti považuje za příliš tvrdý zásah, lze zkusit OPLOCK optimalizovat. Jasný postup na to není, jde o dynamickou záležitost každé instalace. Možnosti jsou v hodnotách klíčů:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] |