From the Firebird support list, posted by Sean Leyne :

We have over 60 production Firebird servers running Windows, some servers with 100s of database connections.
What you need to remember is:
- Each database connection starts a new server process, so more RAM memory is needed/used
- Each database page cache setting should be kept low, improve performance by reduce the amount of synchronization which occurs between the Firebirdprocesses
- 64 bit versions of Windows (very true with 2008) have a poor algorithm for managing OS page cache, which can result in an excessive amount of cachepaging, which severely impacts performance. There are some utilities available (SET_CACHE.EXE) which can set the cache size to definable level (we usually set it to 70% of available RAM).