Optimized Firebird configurations

Here you can find a collection of optimized Firebird configuration files. We hope that these improved configuration files will help to resolve many typical performance problems with Firebird. In the 2nd edition of this collection (released March 23, 2020), we have created several optimized configurations for each architecture, to better fit various types of load.

Firebird 3

Select the architecture and then select the configuration file:

SuperServer: If you have 1 main database and, optionally, 2-5 smaller (and less loaded) databases on the server, choose SuperServer architecture and configure each database in databases.conf.

SuperClassic: if you have many databases on the server (from 10 to 1000), and they are more or less equal in terms of load, and your application is stable (i.e., you never saw “Abnormal termination” in firebird.log), choose SuperClassic. It is better than Classic in terms of better control of sorting memory and performance

Classic: if you have many databases (from 10 to 1000) on the server and they can be problematic in terms of stability, or if you have 32bit UDF, choose Classic.

Firebird 2.5

Select the architecture and configuration file:

SuperServer: if you have 1-2 database with small load (1-3 simultaneously active users, up to 20 users totally), and limited hardware resources, choose SuperServer.

SuperClassic. This is the recommended architecture for Firebird 2.5. Choose it if you have stable applications (without “Abnormal termination” messages in firebird.log).

Classic. If you have applications with stability problem, or you are using 32bit UDF, choose Classic.

How to proceed

Download configuration files for your Firebird version, copy it to Firebird folder, rename to firebird.conf and restart Firebird (all active users should be disconnected before Firebird restart). 
If you intend to change the architecture of Firebird (from SuperServer to SuperClassic, for example), please read the appropriate documentation first.

For all architectures – make sure you don’t override page buffers value in the header page of your database!
To ensure it, run gstat -h databasename and check that Page Buffers is 0. If it is set to other value, set it to 0 with command gfix -buff 0

Important!

  • Always rename and keep a copy of your original firebird.conf and, for Firebird 3.0, databases.conf!
  • For Firebird 3.0, always check databases.conf! There should be the values you explicitly set. Please make sure you understand why do you set them.
  • Remember: settings from firebird.conf are applied to ALL active database on the server as default values, databases.conf (in 3.0) can override firebird.conf.
  • Don’t forget about general OS tuning: see Short performance checklist
If you need an optimized configuration file for your specific environment, to get the best possible performance, or if you still have performance issues after applying config from this collection, please contact us to get tailored optimization support.

 

Optimized configuration files for discontinued versions of Firebird: 1.5, 2.0, 2.1

For discontinued versions of Firebird, we also provide update configurations files, but we really recommend to migrate to the modern Firebird version.

 

Firebird version Description Link
Firebird 1.5 SuperServer 32-bit firebird_15_superserver.conf
Classic 32-bit firebird_15_classic.conf
Firebird 2.0 SuperServer 32-bit firebird_20_superserver.conf
Classic 32-bit firebird_20_classic.conf
Firebird 2.1 SuperServer 32-bit firebird_21_superserver_32bit.conf
SuperServer 64-bit firebird_21_superserver_64bit.conf
Classic 32-bit firebird_21_classic_32bit.conf
Classic 64-bit firebird_21_classic_64bit.conf