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.
If you need tuning for your specific configuration, take a look at Firebird.conf "Calculate configuration", available as part of free "Online tools for Firebird" (it requires free registration).
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.
- Firebird 3 SuperServer configuration for server with RAM 8-12Gb with 3 databases:
- Firebird 3 SuperServer configuration for server with RAM 16-32Gb with 3 databases:
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
- Firebird 3 SuperClassic configuration for server with RAM 8-12Gb with 10+ databases with 150 connections for all databases totally:
- Firebird 3 SuperClassic configuration for server with RAM 16-32Gb with 10+ databases with 300 connections for all databases totally:
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 3 Classic configuration for server with RAM 8-12Gb with 10+ databases with less than 150 connections totally:
- Firebird 3 Classic configuration for server with RAM 16-32Gb with 10+ databases with less than 300 connections totally:
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.
- Firebird 2.5 SuperServer for server with RAM 4+Gb
SuperClassic. This is the recommended architecture for Firebird 2.5. Choose it if you have stable applications (without “Abnormal termination” messages in firebird.log).
- Firebird 2.5 SuperClassic configuration file for server with RAM 8-12Gb, up to 150 connections totally:
- Firebird 2.5 SuperClassic configuration file for server with RAM 16-32Gb, up to 300 connections totally:
Classic. If you have applications with stability problem, or you are using 32bit UDF, choose Classic.
- Firebird 2.5 Classic configuration file for server with RAM8-12Gb, up to 150 connections totally:
- Firebird 2.5 Classic configuration file for server with RAM16-32Gb, up to 300 connections totally:
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.
To receive news and articles about Firebird, join us in Telegram https://t.me/firebirdsql