I'm trying to get more performance out of my Firebird server. A way to do that 
is to increase amount of RAM Firebird will use. I'm looking for a reliable 
method to do that.

I started by increasing the DefaultDbCachePages value in firebird.conf to 8192 
in Super-Server installations and to 1024 in Classic/SuperClassic-Server 
installations. But there wasn't a noticeable performance increase. Then I 
started to increase the DefaultDbCachePages to higher values using this formula:
For Super-Server:
(Physical RAM in KB / default page size in KB) * 0.04 (4% of total RAM).
For Classic/SuperClassic-Server:
(Physical RAM in KB / default page size in KB) * 0.005 (0.5% of total RAM).
I use this formula only on Windows machines. On Linux this would be 
counterproductive (I have read). All the databases I use have the default page 
size of 4 KB and they have no specified cache size (Page Buffers set to 0) only 
DefaultDbCachePages setting in firebird.conf is being used.

With this formula setting in some Firebird SuperServer installations the server 
process crashes after the fifth simultaneous database connection with the error 
"Allocated nnnnn page buffers of xxxxx requested". So this formula isn't quite 
correct.
 
Please tell me:
- Does increasing then DefaultDbCachePages really help increasing the server 
performance?
- If it does, are there more things I have to consider to make this formula 
work properly, e.g. database size, maximum/minimum values, usability with 
different Firebird versions starting with 1.5?
- What functions do settings like FileSystemCacheSize and 
FileSystemCacheThreshold have in this context?


Thanks and best regards

Rami B.

Reply via email to