• FIREBIRD 优化配置文件下载


    最近放假闲来无事将FB2.1的相关配置重新设置了一下。下面是相关修改后的配置文件内容。感兴趣的大家一起研究一下。

    下面的链接是相应的文件下载链接,下载后,先停止FB数据库系统,直接将它解压缩到Firebird的安装目录下,然后再重新启动FB数据库即可,以下改动中有面对多核CPU的调整,如果你的机器不是多核CPU,请留言,重新配置一下。
    /Files/lzmsoft/firebird.zip

    #######################################
    #
    # Firebird configuration file
    #
    # Comments
    # --------
    # The # character is used for comments and can be placed anywhere on a
    # line.  Anything following the # character on a line is considered a
    # comment.
    #
    # Examples:
    #
    #    # This is a comment
    #    DefaultDbCachePages = 2048   # This is an end-of-line comment
    #
    # Entries
    # -------
    # The default value for each entry is listed to the right of the "=".
    # To activate an entry, remove the leading "#"s and supply the desired
    # value.
    #
    # Please note, a number of the values are specified in **Bytes** (Not KB).
    # Accordingly, we have provided some simple conversion tables at the bottom
    # of this file.
    #
    # There are three types of configuration values: integer, boolean and string.
    #
    # Integer
    # --------
    # Integers is what they sound like, an integral value. Examples:
    #   1
    #   42
    #   4711
    #
    # Boolean
    # -------
    # Boolean is expressed as integer values with 0 (zero) being "false" and
    # non-zero is taken to mean "true". For consistency we recommend you
    # only use 0/1.
    #
    # String
    # ------
    # Strings are also what they sound like, strings. Examples:
    #   RootDirectory  = /opt/firebird
    #   RemotePipeName = pipe47
    #
    #
    # Portions of this file have been reproduced/made available with the
    # permission of Ann Harrison @ IBPhoenix.
    #
    #######################################

    # ==================================
    # Settings for all platforms/engines
    # ==================================
    #
    # ----------------------------
    # Specify the root directory under which Firebird is installed.
    # Can be used to override the OS-specifically determined one.
    #
    # Type: string
    #
    #RootDirectory =


    # ----------------------------
    # Database Paths/Directories
    #
    # DatabaseAccess may be None, Full or Restrict. If you choose Restrict,
    # provide ';'-separated trees list, where database files are stored.
    # Relative paths are treated relative to RootDirectory entry
    # (see above). Default value 'Full' gives full access to all files
    # on your site. To specify access to specific trees, enum all required
    # paths (for Win32 this may be something like 'C:\DataBase;D:\Mirror',
    # for unix - '/db;/mnt/mirrordb'). If you choose 'None', then only
    # databases listed in aliases.conf can be attached.
    #
    # Note: simple quotation marks shown above should *NOT* be used when
    # specifying values and directory path names. Examples:
    #
    # DatabaseAccess = None
    # DatabaseAccess = Restrict C:\DataBase
    # DatabaseAccess = Restrict C:\DataBase;D:\Mirror
    # DatabaseAccess = Restrict /db
    # DatabaseAccess = Restrict /db;/mnt/mirrordb
    # DatabaseAccess = Full
    #
    # UNCONTROLLED DATABASE ACCESS MAY COMPROMISE YOUR SYSTEM!
    # IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT
    # DATABASE LOCATIONS!
    #
    # Type: string (special format)
    #
    #DatabaseAccess = Full


    # ----------------------------
    # External File Paths/Directories
    #
    # ExternalFileAccess may be None, Full or Restrict. If you choose
    # Restrict, provide ';'-separated trees list, where external files
    # are stored. Relative paths are treated relative to RootDirectory entry
    # (see above). Default value 'None' disables any use of external files
    # on your site. To specify access to specific trees, enum all required
    # paths (for Win32 this may be something like 'C:\ExternalTables',
    # for unix - '/db/extern;/mnt/extern').
    #
    # NOTE: THE EXTERNAL TABLE ENGINE FEATURE COULD BE USED TO COMPROMISE
    # THE SERVER/HOST AS WELL AS DATABASE SECURITY!!
    #
    # IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT
    # EXTERNAL TABLE LOCATIONS!
    #
    # Type: string (special format)
    #
    #ExternalFileAccess = None


    # ----------------------------
    # External Function (UDF) Paths/Directories
    #
    # UdfAccess may be None, Full or Restrict. If you choose
    # Restrict, provide ';'-separated trees list, where UDF libraries
    # are stored. Relative paths are treated relative to RootDirectory entry
    # (see above). Default value 'Restrict UDF' provides the same restrictions
    # as in FB 1.0. To specify access to specific trees, enum all required
    # paths (for Win32 this may be something like 'C:\ExternalFunctions',
    # for unix - '/db/extern;/mnt/extern').
    #
    # NOTE: THE EXTERNAL FUNCTION ENGINE FEATURE COULD BE USED TO COMPROMISE
    # THE SERVER/HOST AS WELL AS DATABASE SECURITY!!
    #
    # IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT
    # EXTERNAL FUNCTION LOCATIONS!
    #
    # Type: string (special format)
    #
    #UdfAccess = Restrict UDF


    # ----------------------------
    # Temporary directories
    #
    # Provide ';'-separated trees list, where temporary files are stored.
    # Relative paths are treated relative to RootDirectory entry
    # (see above). Default value is determined using FIREBIRD_TMP,
    # TEMP or TMP environment options. Once the first specified
    # directory has no available space, the engine will switch to the
    # next one, and so on.
    #
    # E.g.:
    # TempDirectories = c:\temp
    # or
    # TempDirectories = c:\temp;d:\temp
    #
    # Type: string (special format)
    #
    #这里有改动
    TempDirectories = e:\Temp

    # ----------------------------
    # Legacy hash makes possible use of old security.fdb
    # after running misc/upgrade/security_database.sql.
    # If you want to disable logons with old passwords
    # after users' migration, set it to 0 (false).
    # Makes no difference when used with original
    # security2.fdb - it can't contain DES hash.
    #
    # Type: boolean
    #
    #LegacyHash = 1

    # ----------------------------
    # Which authentication method(s) should be used.
    # "native" means use of only traditional interbase/firebird
    # authentication with security database.
    # "trusted" (Windows Only) makes use of window trusted authentication,
    # and in some aspects this is the most secure way to authenticate.
    # "mixed" means both methods may be used.
    #
    # Type: string
    #
    #Authentication = mixed

    # ----------------------------
    # Number of cached database pages
    #
    # This sets the number of pages from any one database that can be held
    # in cache at once. If you increase this value, the engine will
    # allocate more pages to the cache for every database. By default, the
    # SuperServer allocates 2048 pages for each database and the classic
    # allocates 75 pages per client connection per database.
    #
    # Type: integer
    #这里有改动
    DefaultDbCachePages = 4096

    # ----------------------------
    # Disk space preallocation
    #
    # Sets the amount of preallocated disk space in bytes. Disk space
    # preallocation allows to reduce physical file fragmentation and to make 
    # database work in out of disk space condition. With preallocation enabled,
    # engine allocates 1/16nth of already allocated disk space at a time but 
    # not less than 128KB and no more than DatabaseGrowthIncrement (128MB by 
    # default). To disable preallocation set DatabaseGrowthIncrement to zero.
    # Shadow database files are not preallocated.
    #
    # Type: integer
    #
    #DatabaseGrowthIncrement = 134217728

    # ----------------------------
    # File system cache usage
    #
    # Sets the threshold whether Firebird will use file system cache or not.
    # File system caching is used if database cache pages (sets explicitly in 
    # database header or implicitly via DefaultDbCachePages setting) is less 
    # than MaxFileSystemCache value.
    # To always use file system cache set MaxFileSystemCache to some big value.
    # To never use file system cache set MaxFileSystemCache to zero.

    # Type: integer, measured in database pages
    #
    #MaxFileSystemCache = 65536

    # ----------------------------
    # Temporary space management
    #
    # Temporary storage is used by the sorting module, it's also
    # intended to store temporary datasets etc.
    #
    # The parameters below handle the allocation and caching policy
    # for the temporary space manager. In previous Firebird versions,
    # they were prefixed with "SortMem" instead of current "Temp".
    #
    # The smallest block size being allocated in the temporary storage.
    # This value reflects the allocation granularity.
    #
    # Type: integer
    #
    #TempBlockSize = 1048576

    #
    # The maximum amount of the temporary space that can be cached
    # in memory.
    #
    # For Classic servers, this setting is defaulted to 8 MB.
    # Although it can be increased, the value applies to each client
    # connection/server instance and thus consumes a lot of memory.
    #
    # Type: integer
    #
    #TempCacheLimit = 67108864


    # ----------------------------
    # Backward-compatible parameter ordering as it was in FB v1/IB
    #
    # Type: boolean
    #
    #OldParameterOrdering = 0


    # ----------------------------
    # Boolean evaluation method (complete or shortcut)
    #
    # If your SQL code depends on side-effects of full evaluation of OR
    # and AND statements (right-hand-side terms), even if the expressions
    # final result could be determined by just examining the value of the
    # first term, you might need to turn this on.
    #
    # Type: boolean
    #
    #CompleteBooleanEvaluation = 0


    # ----------------------------
    #
    # Determines the number of seconds that the lock manager will wait after a
    # conflict has been encountered before purging locks from dead processes
    # and doing extra deadlock scan cycle. Engine detects deadlocks instantly
    # in all normal cases, so this value affects things only if something goes
    # wrong. Setting it too low may degrade system performance.
    #
    # Type: integer
    #
    #DeadlockTimeout = 10


    # ----------------------------
    #
    # How often the pages are flushed on disk
    # (for databases with ForcedWrites=Off only)
    #
    # Number of unflushed writes which will accumulate before they are
    # flushed, at the next transaction commit.  For non-Win32 ports,
    # the default value is -1 (Disabled)
    #
    # Type: integer
    #
    MaxUnflushedWrites = 100

    #
    # Number of seconds during which unflushed writes will accumulate
    # before they are flushed, at the next transaction commit. For non-Win32
    # ports, the default value is -1 (Disabled)
    #
    # Type: integer
    #
    MaxUnflushedWriteTime = 5


    # ----------------------------
    #
    # This option controls whether to call abort() when internal error or BUGCHECK
    # is encountered thus invoke post-mortem debugger which can dump core suitable
    # for off-line analysis. When disabled engine tries to minimize damage and
    # continue execution.
    #
    # Note that setting this option to 1 makes engine produce traceable coredumps
    # when something nasty like SIGSEGV happens inside UDF. On Windows enabling
    # this option makes engine invoke JIT debugger facilities when errors happen.
    #
    # For debugging builds (DEV_BUILD), default value is 1 (Enabled)
    #
    # Type: boolean
    #
    #BugcheckAbort = 0


    # Prior to Firebird 1.5 various SELECT expressions generated unnamed
    # columns. This did not conform to the SQL standard. Fb 1.5 saw the
    # introduction of default aliases for these unnamed columns. In some
    # cases, particularly if string concatenation is used (via the ||
    # operator) this breaks existing scripts.
    #
    # This setting will affect aliases generated via CONCATENATION,
    # CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP and EXTRACT. Setting
    # the value to true will disable the alias generation. It is only
    # recommended to be used where legacy scripts need to be supported.
    # It will be marked deprecated in Firebird 2.0 and removed in
    # Firebird 3.0.
    #
    # Type: boolean
    #
    #OldColumnNaming = 0


    # ----------------------------
    # Client Connection Settings (Basic)
    #
    # Seconds to wait before concluding an attempt to connect has failed.
    #
    # Type: integer
    #
    #ConnectionTimeout = 180

    #
    # Seconds to wait on a silent client connection before the server sends
    # dummy packets to request acknowledgment.
    #
    # DO NOT USE THIS OPTION. It may hang or crash Windows on the client side as
    # explained here: http://support.microsoft.com/default.aspx?kbid=296265
    # or may not prevent eventual inactive client disconnection for other OS.
    #
    # Normally, Firebird uses SO_KEEPALIVE socket option to keep track of
    # active connections. If you do not like default 2-hour keepalive timeout
    # then adjust your server OS settings appropriately. On UNIX-like OS's,
    # modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,
    # follow instrutions of this article:
    # http://support.microsoft.com/default.aspx?kbid=140325
    #
    # Type: integer
    #
    #DummyPacketInterval = 0


    # ----------------------------
    # TCP Protocol Settings
    #
    # The TCP Service name/Port number to be used for client database
    # connections.
    #
    # It is only necessary to change one of the entries, not both.  The
    # order of precendence is the 'RemoteServiceName' (if an entry is
    # found in the 'services.' file) then the 'RemoteServicePort'.
    #
    # Type: string, integer
    #
    #RemoteServiceName = gds_db
    #RemoteServicePort = 3050

    #
    # The TCP Port Number to be used for server Event Notification
    # messages.  The value of 0 (Zero) means that the server will choose
    # a port number randomly.
    #
    # Type: integer
    #
    #RemoteAuxPort = 0

    #
    # TCP/IP buffer size for send and receive buffers of both the client
    # and server. The engine reads ahead of the client and can send
    # several rows of data in a single packet. The larger the packet size,
    # the more data is sent per transfer. Range is 1448 to 32767 (MAX_SSHORT).
    #
    # Type: integer
    #
    #TcpRemoteBufferSize = 8192

    #
    # Either enables or disables Nagle algorithm (TCP_NODELAY option of
    # socket) of the socket connection.
    #
    # Note: Currently is a default for classic and super servers.
    #
    # Type: boolean
    #
    #TcpNoNagle = 1

    #
    # Allows incoming connections to be bound to the IP address of a
    # specific network card. It enables rejection of incoming connections
    # through any other network interface except this one. By default,
    # connections from any available network interface are allowed.
    #
    # Type: string
    #
    #RemoteBindAddress =


    # ----------------------------
    # Locking and shared memory parameters
    #
    # Bytes of shared memory allocated for lock manager.
    # In Classic mode, the size given is used for the initial allocation. The
    # table expands dynamically up to the limit of memory. In SuperServer, the
    # initial size is also the final size.
    #
    # Type: integer
    #
    #LockMemSize = 1048576

    #
    # Number of semaphores for interprocess communication.
    # In non-threading environments, this sets the number of semaphores
    # available
    #
    # Type: integer
    #
    #LockSemCount = 32

    #
    # When a connection wants to lock an object, it gets a lock request
    # block which specifies the object and the lock level requested. Each
    # locked object has a lock block. Request blocks are connected to those
    # lock blocks either as requests that have been granted, or as pending
    # requests.
    #
    # The settings:
    #  1 means locks are granted first come, first served.
    # 0 means emulate InterBase v3.3 behavior, where locks are granted
    #   as soon as they are available; can result in lock request
    #       starvation.
    #
    # Type: integer/boolean
    #
    #LockGrantOrder = 1

    #
    # In Classic, only one client process may access the lock table at any
    # time. Access to the lock table is governed by a mutex. The mutex can
    # be requested conditionally - a wait is a failure and the request must
    # be retried - or unconditionally - the request will wait until it is
    # satisfied. This parameter establishes the number of attempts that
    # will be made conditionally. Zero value means unconditional mode.
    # Relevant only on SMP machines.
    #
    # Type: integer
    #
    #LockAcquireSpins = 0

    #
    # Tune lock hash list; more hash slots mean shorter hash chains. Only
    # necessary under very high load. Prime number values are recommended.
    #
    # Type: integer
    #
    #LockHashSlots = 1009

    # ----------------------------
    #
    # Bytes of shared memory allocated for event manager.
    #
    # Type: integer
    #
    #EventMemSize = 65536


    # ===========================
    # SuperServer Engine Settings
    # ===========================
    #
    # ----------------------------
    # Which CPUs should be used (Windows Only)
    #
    # In an SMP system, sets which processors can be used by the server.
    # The value is taken from a bit map in which each bit represents a CPU.
    # Thus, to use only the first processor, the value is 1. To use both
    # CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value
    # is 6. The default value is 1.
    #
    # Type: integer
    #这里有改动
    CpuAffinityMask = 3


    # ----------------------------
    # Settings for the thread scheduler  (Windows Only)
    #
    # If you have problems with computer response time, running firebird
    # on workstation, turn off thread scheduler.
    #
    # Type: boolean
    #这里有改动
    UsePriorityScheduler = 1

    #
    # The wait time, in milli-seconds (ms), before the priority of:
    # - an active thread is reduced to 'Low', or
    # - an inactive thread is increased to 'High'
    #
    # Note: The default value was chosen based on experiments on Intel
    # PIII/P4 processors.  It should be increased for using in the computer
    # with lower speed processors.
    #
    # Type: integer
    #这里有改动
    PrioritySwitchDelay = 10

    #
    # Number of additional 'intervals' given to a 'High' priority thread.
    #
    # Type: integer
    #这里有改动
    PriorityBoost = 1

    # ----------------------------
    # Garbage collection policy
    #
    # Defines how engine does garbage collection. Valid values are :
    # cooperative
    # background
    # combined
    #
    # Superserver has by default "combined" policy
    # Classic has by default "cooperative" policy.
    # Other values are ignored by classic server build
    #
    # Type: string (special format)
    #
    #GCPolicy = combined


    # ==============================
    # Classic Server Engine Settings
    # ==============================
    #


    # ==============================
    # Settings for Windows platforms
    # ==============================
    #
    # ----------------------------
    # Does the guardian restart the server every time it crashes?
    #    0 - only start the engine/service once
    #    1 - always restart the engine/service if it terminates
    #
    # Type: integer/boolean
    #
    #GuardianOption = 1


    #
    # ----------------------------
    # Priority level/class for the server process.
    #
    # The values are:
    #     0 (Zero) - normal priority,
    #     positive value - high priority (same as -B command line option)
    #     negative value - low priority.
    #
    # Note: All changes to this value should be carefully tested to ensure
    # that engine is more responsive to requests.
    #
    # Type: integer
    #
    #ProcessPriorityLevel = 0


    # ----------------------------
    # Local Connection Settings
    #
    # The name of the shared memory area used as a transport channel in local protocol.
    # Note that the local protocol in v2.0 is not compatible with any previous version
    # if Firebird or InterBase.
    #
    # IMPORTANT! If your host OS is Vista or you are running Windows 2003 or
    # Windows XP with terminal services enabled, and you need the local connection
    # to work, you should prefix the below value with "Global\", i.e. it should
    # be "Global\FIREBIRD". Please note that the prefix is case-sensitive.
    #
    # Type: string
    #
    #IpcName = FIREBIRD

    #
    # The name of the pipe used as a transport channel in NetBEUI protocol.
    # Has the same meaning as a port number for TCP/IP. The default value is
    # compatible with IB/FB1.
    #
    # Type: string
    #
    #RemotePipeName = interbas

    #
    # Does the server need to create a (hidden) window used for IPC communication.
    # Turn this off to run the server without a window and hence without local protocol.
    # Can be used for running a few instances of the server simultaneously on win32.
    #
    # Type: boolean
    #
    #CreateInternalWindow = 1


    # ============================
    # Settings for Unix/Linux platforms
    # ============================
    #
    #
    # UNIX signal to use for interprocess communication
    #
    # Type: integer
    #
    #LockSignal = 16


    # ----------------------------
    # Remove protection against opening databases on NFS mounted volumes
    #
    #     ***WARNING*** ***WARNING*** ***WARNING*** ***WARNING***
    #
    # This option removes an important safety feature of Firebird and can
    # cause irrecoverable database corruption. Do not use this option unless
    # you understand the risks and are prepared to accept the loss of the
    # contents of your database.
    # Unless this configuration option is changed from 0 to 1, Firebird can
    # open a database only if the database is stored on a drive physically
    # attached to the local computer - the computer running that copy of
    # Firebird. Requests for connections to databases stored on NFS mounted
    # drives are redirected to a Firebird server running on the computer that
    # "owns" the disk.
    # This restriction prevents two different copies of Firebird from opening
    # the same database without coordinating their activities. Uncoordinated
    # access by multiple copies of Firebird will corrupt a database. On a local
    # system, the system-level file locking prevents uncoordinated access to
    # the database file.
    # NFS does not provide a reliable way to detect multiple users of a file on
    # an NFS mounted disk. If a second copy of Firebird connects to a database on
    # an NFS mounted disk, it will corrupt the database.
    # Under some circumstances, running a Firebird server on the computer that
    # owns NFS mounted volumes is inconvenient or impossible. Applications that
    # use the "embedded" variant of Firebird and never share access to a database
    # can use this option to permit direct access to databases on NFS mounted
    # volumes.
    # DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.
    #
    # Type: boolean
    #
    #RemoteFileOpenAbility = 0

    # ----------------------------
    # Remove protection against redirecting requests to other servers
    #
    #     ***WARNING*** ***WARNING*** ***WARNING*** ***WARNING***
    #
    # Ability to redirect requests to other servers was initially present
    # in Interbase, but was broken by Borland in Interbase 6.0, when
    # they added SQL dialects. Request redirection was fixed in firebird 2.0,
    # but today such behaviour (proxy) seems to be dangerous from security
    # point of view. Imagine, you have one carefully protected firebird server,
    # access to which is possible from global net. But in case when this server
    # has access to your internal LAN (may and should be restricted,
    # but often possible), it will work as a gateway for incoming requests like:
    # firebird.your.domain.com:internal_server:/private/database.fdb
    # It's enough to know name/IP of some internal server on your LAN, and for
    # this connection one even need not know login/password on external server.
    # Such gateway easily overrides firewall, installed to protect your LAN
    # from outside attack.
    #
    # DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.
    #
    # Type: boolean
    #
    #Redirection = 0

    #######################################
    #
    # KB to Bytes Conversion table
    #
    #######################################
    #
    #    KB     Bytes         KB     Bytes
    #   ----    ---------    ----    ---------
    #      1    1024           32    32768
    #      2    2048           64    65536
    #      4    4096          128    131072
    #      8    8192          256    262144
    #     16    16384         512    524288
    #
    #######################################
    #
    # MB to Bytes Conversion table
    #
    #######################################
    #
    #    MB    Bytes           MB    Bytes            MB    Bytes
    #   ---    ---------      ---    -----------     ---    -----------
    #     1    1048576         64    67108864        448    469762048
    #     2    2097152        128    134217728       512    536870912
    #     4    4194304        192    201326592       640    671088640
    #     8    8388608        256    268435456       768    805306368
    #    16    16777216       320    335544320       896    939524096
    #    32    33554432       384    402653184      1024    1073741824
    #

  • 相关阅读:
    标准Gitlab命令行操作指导
    ssh登录巨慢加速验证
    ssh远程主机执行命令或脚本
    ssh创建与添加密钥开启免密登陆 免确认机器指纹参数
    linux免密传输文件 nc
    Linux 查看实时网卡流量的方法 网速 nload sar iftop dstat
    Mysql 常用命令
    Redis 常用命令整理
    shell sed -i 指定内容追加.
    java 复制指定目录中的所有文件和文件夹到另一个指定文件夹中
  • 原文地址:https://www.cnblogs.com/top5/p/1457931.html
Copyright © 2020-2023  润新知