From: <di...@us...> - 2012-03-27 07:25:06
|
Revision: 54259 http://firebird.svn.sourceforge.net/firebird/?rev=54259&view=rev Author: dimitr Date: 2012-03-27 07:24:55 +0000 (Tue, 27 Mar 2012) Log Message: ----------- Fixed CORE-3791: Performance degrades when actively working with databases bigger than the available RAM amount. Modified Paths: -------------- firebird/trunk/builds/install/misc/firebird.conf.in firebird/trunk/src/common/classes/TempFile.cpp firebird/trunk/src/common/config/config.cpp firebird/trunk/src/jrd/os/win32/winnt.cpp firebird/trunk/src/utilities/gstat/dba.epp Modified: firebird/trunk/builds/install/misc/firebird.conf.in =================================================================== --- firebird/trunk/builds/install/misc/firebird.conf.in 2012-03-27 07:11:34 UTC (rev 54258) +++ firebird/trunk/builds/install/misc/firebird.conf.in 2012-03-27 07:24:55 UTC (rev 54259) @@ -245,7 +245,8 @@ # setting will not be changed. Thus you may need to reboot the host for the # change of this setting to have effect. # -# To leave host caching settings unchanged set this parameter to 0. +# To leave host caching settings unchanged set this parameter to 0. This is +# the default parameter value. # # Security note # To adjust the setting engine needs SeIncreaseQuotaPrivilege right. Built-in @@ -255,7 +256,7 @@ # # Type: integer, measured in % of total physical RAM # -#FileSystemCacheSize = 30 +#FileSystemCacheSize = 0 # ---------------------------- # Remove protection against opening databases on NFS mounted volumes on Modified: firebird/trunk/src/common/classes/TempFile.cpp =================================================================== --- firebird/trunk/src/common/classes/TempFile.cpp 2012-03-27 07:11:34 UTC (rev 54258) +++ firebird/trunk/src/common/classes/TempFile.cpp 2012-03-27 07:24:55 UTC (rev 54259) @@ -159,7 +159,7 @@ temp /= strlen(NAME_LETTERS); } name += suffix; - DWORD attributes = FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_RANDOM_ACCESS; + DWORD attributes = FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_TEMPORARY; if (doUnlink) { attributes |= FILE_FLAG_DELETE_ON_CLOSE; Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2012-03-27 07:11:34 UTC (rev 54258) +++ firebird/trunk/src/common/config/config.cpp 2012-03-27 07:24:55 UTC (rev 54259) @@ -165,7 +165,7 @@ {TYPE_BOOLEAN, "OldSetClauseSemantics", (ConfigValue) false}, // if true disallow SET A = B, B = A to exchange column values {TYPE_STRING, "AuditTraceConfigFile", (ConfigValue) ""}, // location of audit trace configuration file {TYPE_INTEGER, "MaxUserTraceLogSize", (ConfigValue) 10}, // maximum size of user session trace log - {TYPE_INTEGER, "FileSystemCacheSize", (ConfigValue) 30}, // percent + {TYPE_INTEGER, "FileSystemCacheSize", (ConfigValue) 0}, // percent {TYPE_STRING, "Providers", (ConfigValue) "Remote, Engine12, Loopback"}, {TYPE_STRING, "AuthServer", (ConfigValue) "Srp, Win_Sspi"}, {TYPE_STRING, "AuthClient", (ConfigValue) "Srp, Win_Sspi, Legacy_Auth"}, Modified: firebird/trunk/src/jrd/os/win32/winnt.cpp =================================================================== --- firebird/trunk/src/jrd/os/win32/winnt.cpp 2012-03-27 07:11:34 UTC (rev 54258) +++ firebird/trunk/src/jrd/os/win32/winnt.cpp 2012-03-27 07:24:55 UTC (rev 54259) @@ -132,10 +132,9 @@ #ifdef SUPERSERVER_V2 static const DWORD g_dwExtraFlags = FILE_FLAG_OVERLAPPED | - FILE_FLAG_NO_BUFFERING | - FILE_FLAG_RANDOM_ACCESS; + FILE_FLAG_NO_BUFFERING; #else -static const DWORD g_dwExtraFlags = FILE_FLAG_RANDOM_ACCESS; +static const DWORD g_dwExtraFlags = 0; #endif static const DWORD g_dwExtraTempFlags = FILE_ATTRIBUTE_TEMPORARY | Modified: firebird/trunk/src/utilities/gstat/dba.epp =================================================================== --- firebird/trunk/src/utilities/gstat/dba.epp 2012-03-27 07:11:34 UTC (rev 54258) +++ firebird/trunk/src/utilities/gstat/dba.epp 2012-03-27 07:24:55 UTC (rev 54259) @@ -1717,8 +1717,7 @@ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL | - FILE_FLAG_RANDOM_ACCESS, + FILE_ATTRIBUTE_NORMAL, 0); if (fil->fil_desc == INVALID_HANDLE_VALUE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |