Subject | Firebird 2.5 conf for high load multiple and quick connections |
---|---|
Author | |
Post date | 2014-07-17T14:51:34Z |
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.
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.