On 2020-04-14 16:45, Willian do Amor wrote:
I have the dedicated database server running inside Hyper-V. This VM is running Ubuntu 18.04, with 32 GB of RAM, 8 virtual processor cores and 1 TB HD.

The Firebird that runs on that server is Classic Server 2.1. I have only 4 databases on that machine. The number of users reaches a maximum of 100 at its peak.


Willian, version 2.1 (and moreover - 2.5 too) is not supported by community any more.

It so happened that over the course of a few days, the systems started to slow down and connections dropped. The firebird log stated that there were no more Semaphores available.

Searching on google I found that I should increase the number of Semaphores for firebird according to what is available in the Linux kernel.

I performed several tests and research, on a certain page that I don't remember now, a user said he had set 1024 Semaphores for firebird and that he also increased the maximum number in the kernel.

I tried to use 1024 in my firebird settings and it showed an error in the logs stating that the number was not available on my system and that it was to set the value 64.

I found through oracle database documentation that oracle uses the following configuration for its database in the Rad Hat Linux kernel (it's an example configuration)

sysctl -w kernel.sem = "5010 641280 5010 128"
I made this configuration on my server and set the Semaphores from firebird to 128. I realized that I got a much better performance already.

You should upgrade to at least 2.5 and forget about SystemV semaphores. But if you really need for some reason keep using 2.1 please search for paid support. Some companies provide it




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to