Firebird Classic Server vs. Superserver

Classic Server

Superserver

On Linux: fully mature.

On Windows: fully mature as from version 1.5.1.

Fully mature on both Windows and Linux.

Creates a separate process for every client connection, each with its own cache. Less resource use if the number of connections is low.

A single process serves all the connections, using threads to handle requests. Shared cache space. More efficient if the number of simultaneous connections grows.

Permits fast, direct I/O to database files for local connections on Linux. On Windows, you must make local connections network-style, by connecting to localhost.

On Linux, local connections are made network-style, via localhost (often implicitly). On Windows, this is optional; you can also make direct local connections, but these are not as fast as the “Classic” ones on Linux and also less safe.

1.5: Partially implemented Services Manager, supporting tasks like backup/restore, database shutdown etc. over the network. Other service tasks have to be performed locally using the client tools (small separate executables) that come with Firebird.

1.5.1 and up: full Services Manager.

Full Services Manager (on Windows and Linux) enables you to perform management tasks (backup/restore, database shutdown, user management, stats, etc.) programmatically. You can connect to the Services Manager over the network and thus perform these tasks remotely.

SMP (symmetrical multi-processor) support. Better performance in case of a small number of multiple connections that do not influence each other.

No SMP support. On multi-processor Windows machines, performance can even drop dramatically as the OS switches the process between CPUs. To prevent this, set the CpuAffinityMask parameter in the configuration file firebird.conf.

Comments