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