hab einen neuen RAM Chip erhalten und bin nun am testen mit dem
Server, jetzt mit DBF Datein.
Nun hab ich mein OP´s Lock Modul rausgeholt und wollte damit den
W200x Server "patchen". Als ich aber mir den Source mal ansah,
stellte ich fest das "nur" der "minimal patch" ist wie ihn Steffen F. Pirsig
in seinem PDF "vorgestellt" hat.
Also hab ich mal angefangen im Alaska Forum zu suchen, und auch hier
(http://www.xbaseforum.de/viewtopic.php? ... nmanserver)
und stellte fest das es scheinbar "deutlich" mehr an Empfehlungen gibt.
Deshalb hab ich hier mal den Thread angefangen und versuche mal
die einzelnen hier zu Diskussion zu stellen. (Syntax nach Thomas Braun´s
RegClass)
Code: Alles auswählen
PROCEDURE OPS_LOCK()
LOCAL cKey , oReg , lRtn := .F.
cKey := "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters"
oReg := XbpReg():NEW( cKey )
lRtn := oReg:Status()
IF ! lRtn
oReg:Create()
ENDIF
* MUST HAVE W200x Server.
oReg:SetValue( "EnableOpLocks" , 0 ) // Steffen F. Pirsig
oReg:SetValue( "CachedOpenLimit" , 0 ) // Steffen F. Pirsig
Code: Alles auswählen
oReg:SetValue( "EnableOpLockForceClose" , 1 )
ebenfall wohl für den Server sind
Code: Alles auswählen
oReg:SetValue( "autodisconnect" ,ffffffff ) // Prevent premature workstation disconnection - default is 0000000f (15 minutes)
oReg:SetValue( "ConnectionNoSessionsTimeout" ,ffffffff ) // This one
is for Server 2003 - default is 2 minutes!
Nun muss ich erst eine Frage stellen : Was ist mit den Workstationen ?
(davon steht nicht in der PDF von Steffen F. Pirsig )
deshalb also zu den Workstationen :
Code: Alles auswählen
* MUST HAVE client
cKey := "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters"
oReg := XbpReg():NEW( cKey )
lRtn := oReg:Status()
IF ! lRtn
oReg:Create()
ENDIF
* NT/2000/XP (Work/Pro)
oReg:SetValue( "UtilizeNtCaching" , 0 ) // Disable file
caching - effectively forces a commit back to the server
oReg:SetValue( "UseLockReadUnlock" , 0 ) // Allows data to be read even if another station has a lock in place - can prevent "deadly
embrace"
* NT
oReg:SetValue( "UseOportunisticLocking" , 0 )
* 2000/XP (Pro)
oReg:SetValue( "OplocksDisabled" , 1 )
oReg:SetValue( "UseUnlockBehind" , 1 ) // Unlocks data
immediately in response to an unlock request (improves performance on W2K)
verschiedene Registy Setting gibt. Für Windows 98 gibt es auch was.
Code: Alles auswählen
* On all Windows 95/98/ME computers:
- Key Name:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VREDIR
1) Value Name (DWORD): DiscardCacheOnOpen
Value: 1
die Einträge
Code: Alles auswählen
oReg:SetValue( "EnableOpLocks" , 0 )
oReg:SetValue( "EnableOpLockForceClose" , 1 )
oReg:SetValue( "CachedOpenLimit" , 0 )
so und dann gibt es noch diesen Kommentar von "James Loughner ":
alles klar ... bin gespannt auf eure Kommentare."The location of the client registry entry for opportunistic locking has
changed in Windows 2000 from the earlier location in Microsoft Windows
NT. In Windows 2000, the registry entry that disables opportunistic
locking is:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\
OplocksDisabled REG_DWORD 0 or 1
Default: 0 (not disabled)"
gruss by OHR
Jimmy