What's the difference between Classic and Super Server?


Super Server is built as modern multi-client, multi-threaded servers like Apache. It's a single process which listens to incoming connections itself and starts a new thread for each client. All clients share a common metadata cache with makes operations faster and metadata change notifications instant. It uses less memory than Classic and is well suited for OLTP. The problem is when one user runs long-running query (reports for example), and hogs the system so much that short queries never get their turn.

If you face such problems, it's better to use Classic, which uses a single process per connection. Classic is supported on Linux since beginning and on Windows in newer Firebird versions. Classic uses inetd or xinetd to accept incoming connections (like FTP, Telnet, and similar other servers on Linux usually do), so make sure (x)inetd is installed and running if you have connection problem. Historically, Classic had less diagnostic tools as information about users and connection was not kept in the same process space. For example, if you query the number of connected users, you'll always get one (yourself) with Classic. Since user concurency is left for operating system to handle, it can run multiple heavy querys are still be responsive to new ones. Ideal for OLAP.

There is another good reason to use Classic: if you have a runaway process (like database backup) that cannot be stopped by other means than killing it, killing Classic process is harmless and easy, while killing the SuperServer takes down all the connections and transactions for all clients/users. If you use Firebird 2.1 or higher you can also cancel queries by deleting records from monitoring tables. Killing a Classic process is still faster that that (no need to connect to the server, inspect the monitoring tables to find what to stop), but the advantage is not that big anymore.


Do you find this FAQ incorrect or incomplete? Please e-mail us what needs to be changed. To ensure quality, each change is checked by our editors (and often tested on live Firebird databases), before it enters the main FAQ database. If you desire so, the changes will be credited to your name. To learn more, visit our add content page.

If you are a commercial tool maker and your tool features a great way to handle the issue written about in this FAQ, please check out our advertisement page.



All contents are copyright © 2007-2016 FirebirdFAQ.org unless otherwise stated in the text.


Links   Firebird   News   FlameRobin   Home Inventory powered by FB  
Add content   Advertise   About  

Categories
 Newbies
 SQL
 Installation and setup
 Backup and restore
 Performance
 Security
 Connectivity and API
 HOWTOs
 Errors and error codes
 Miscellaneous