Subject Firebird 2.5 conf for high load multiple and quick connections
Author

I've been doing some research to come up with a good firebird.conf for our servers.

We are using firebird 2.5 superclassic, the servers have lots of databases (one for each client), as high as 40 in one server, all of them are accessed simultaneously. The average size is 1gb of each database, and they are all on 16k pages.


I've found some great articles, and example .conf files :

http://ib-aid.com/en/articles/tuning-1-7-terabyte-firebird-sql-database/
http://www.ibexpert.net/ibe/index.php?n=Doc.MemoryConfiguration


And they did help a lot.
The conf from the first article is meant for 'average hardware / average load', and my case is high/high, so Ive bumped up some of the conf's.


This are the settings I modified : 


TempDirectories = D:\FIREBIRD_TMP;D:\WINDOWS_TEMP

DefaultDbCachePages = 512

TempBlockSize = 8388608

LockMemSize = 10097152

LockHashSlots = 60540


All other are on their defaults.


I have a question about cache pages : Should I decrease (or greatly decrease or even turn off) cachepages since Im dealing with tons of connections that lasts only a few seconds?

Our system runs under php and there are no permanent connections to the database - connections to the db are made at every request, and as soon as any request is done, the connection is closed. The vast majority of requests are performed in 2 or 3 secs.

A single user during a full 8 hour period might perform something like 5000 connections. We have an average of 300-400 active users at any given time.


Im not sure if the cache is serving any purpouse under these circunstances, and it might even be generating some unwanted overhead?


Some other options Im considering :

- Using ram drive for temp files

- Changing the lock directory (by modifying the env var) and using ram drive for the lock dir : should it work?



Any suggestions are greatly appreciated.