July 26th, 2011, 11:54 AM
Firebird not allowing more than 200 simultaneous connections
I have a Firebird v1.5.5 Classic server running on Red Hat Enterprise Linux Server release 5.6
The server hosts about 500 databases.
Whenever the server reaches 200 database connections (that is 200 fb_inet_server processes running simultaneously) it stops allowing any further database connections (sometimes it can get as high as 205 connections, but never any higher). I know that the server is not allowing any further database connections because users report it to me, and when I pick a database to connect to, it refuses my connection.
I can temporarily solve the problem by using the linux kill command to kill about 20 fb_inet_server processes, but I do not like doing this! and this is not a long term solution.
I have no idea why it stops allowing connections when it gets to 200 fb_inet_server processes. There should be plenty of semaphors free on the server.
Upgrading to a new version of firebird is not really an option at the moment.
I have included some extra information below about the server.
The settings in firebird.conf are all the defaults apart from the following :-
DeadlockTimeout = 10
LockSemCount = 512
LockHashSlots = 1024
DeadThreadsCollection = 50
Below is the output from a linux command :-
------ Semaphore Limits --------
max number of arrays = 4096
max semaphores per array = 2048
max semaphores system wide = 768000
max ops per semop call = 512
semaphore max value = 32767
Any help would be greatly received. If you need any further details, please let me know
July 27th, 2011, 01:40 AM
July 27th, 2011, 04:52 AM
Editing the xinetd configuration worked. Thank you very much!