|
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.
|