Author | Topic: [INFO] Opportunistic Blocking | |
---|---|---|
Jos Luis Otermin [Alaska Software] | [INFO] Opportunistic Blocking on Thu, 30 Nov 2006 12:51:36 -0300 Estimados Colegas: En otros foros de discusin se ha planteado el inconveniente de lecturas errneas en redes Windows. Respecto al Bloqueo Oportunista, sugiero la lectura de los siguientes textos: http://support.microsoft.com/kb/129202 http://support.microsoft.com/kb/296264 En Ingls: http://www.dataaccess.com/whitepapers/opportunlockingreadcaching.html Una explicacin detallada: http://www.superbase.com/services_tech_support_oplocks.htm http://www.plmconsulting.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=21;t=000048 En ellos se lee (en sntesis) que el Bloqueo Oportunista tiene varios parmetros para su control y ajuste. Existe un grupo de parmetros en el Registro del Servidor y otro tanto en el Registro de la Terminal. Como puede apreciarse, existe una variada gama de escenarios para la configuracin del ambiente de Bloqueo Oportunista. Es una costumbre arraigada el deshabilitar el bloqueo interferido por terceros (Bloqueo Oportunista) y hasta ahora parece ser la solucin que ms ha satisfecho a todos. A quienes se hacen la pregunta "Para qu existe ese Bloqueo Oportunista?" les dir que tiene sentido si lo miramos desde el punto de vista de Cliente-Servidor con grandes lotes de datos y no desde el punto nuestro, orientado a registro (por lo tanto pequeos trenes de datos). NOTA: Para todos aquellos que vayan a modificar el registro, se sugiere hacer copia de seguridad de la rama afectada. Con RegEdit: Archivo Exportar (.) Rama Seleccionada Para quienes deseen probar la red, pueden descargar un programa Clipper que simula un ambiente pesado. http://www.drouillard.ca/Tips&Tricks/Samba/Oplocks.htm (final de pgina) Saludos Jos Luis Otermin Soporte Tcnico -------------------------------------------------------------------- Alaska Software Inc. Foros de Usuarios: news://news.alaska-software.com Foros de Usuarios Web: http://news.alaska-software.com Pgina Web: http://www.alaska-software.com Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23 Oficina en EEUU: Fax: +1 (646) 218 1281 ------------------------------------------------------- | |
Jose Valle | Re: [INFO] Opportunistic Blocking on Fri, 01 Dec 2006 01:42:40 +0100 Hola Jose Luis, Hace un tiempo copie de no se donde este prg que utiliza la librera de Thomas Braun para modificar el registro. Yo actualizo todas las claves en cualquier maquina, sea cliente o servidor. FUNC CompruebaRegistro() ************************ 30/06/2006 15:37 LOCAL oReg := XbpReg():NEW( "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" ) LOCAL nActivarOploks := 0 LOCAL nDesActivarOploks := 1 LOCAL nCached := 0 LOCAL lActu := .F. LOCAL cResp If !oReg:Status() oReg:Create() ELSE nDesactivarOplocks := oReg:GetValue( "OplocksDisabled" ) nActivarOplocks := oReg:GetValue( "EnableOplocks" ) nCached := oReg:GetValue( "CachedOpenLimit" ) EndIF DBPAN("BLOQUEO OPORTUNISTA") @ 5,10 SAY Os(OS_PRODUCT) == "WIN2K" .OR. Os(OS_PRODUCT) == "WINXP" @ 7,10 SAY iif(nActivarOplocks=1 , "activados Oplocks", "Desactivados Oplocks") @ 9,10 SAY "N de Ficheros abiertos en cache (CachedOpenLimit)" + ntc(nCached) IF Alert(" Desactivar Oplocks y Ficheros abiertos en cache", {"Si","No"}) = 1 CLIENTE oReg := XbpReg():NEW( "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" ) If !oReg:Status() oReg:Create() ENDIF oReg:SetValue( "CachedOpenLimit" , 0 ) oReg:SetValue( "EnableOpLockForceClose" , 1 ) oReg:SetValue( "EnableOplocks" , 0 ) oReg:SetValue( "OplocksDisabled" , 1 ) oReg:SetValue( "UseLockReadUnlock" , 0 ) Allows data to be read even if another station has a lock in place - can prevent "deadly embrace" oReg:SetValue( "UseUnlockBehind" , 1 ) Unlocks data immediately in response to an unlock request (improves performance on W2K) oReg:SetValue( "UseOportunisticLocking" , 0 ) oReg:SetValue( "UtilizeNtCaching" , 0 ) Disable file caching - effectively forces a commit back to the server SERVIDOR oReg := XbpReg():NEW( "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" ) If !oReg:Status() oReg:Create() ENDIF //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! oReg:SetValue( "CachedOpenLimit" , 0 ) //Forces the server to really close a file when instructed oReg:SetValue( "ConnectionNoSessionsTimeout" , 1 ) This one is for Server 2003 - default is 2 minutes! oReg:SetValue( "EnableOpLockForceClose" , 1 ) oReg:SetValue( "EnableOplocks" , 0 ) oReg:SetValue( "OplocksDisabled" , 1 ) oReg := XbpReg():NEW( "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRXSmb\Parameters" ) If !oReg:Status() oReg:Create() ENDIF oReg:SetValue( "OplocksDisabled" , 1 ) This one is for Win2K and later. ENDIF RETURN .T. |