Subject Firebird and large databases
Author bernard_cleary

ObjectMastery manage a large firebird database for one of our clients. The database is currently about 100gig and is about 8 years old. We are currently running firebird CS 2.1.2 on a linux box. We have 5 main servers. The primary server is a dual CPU quad core box with 64 gig ram and 12 SAS hard drives. The drives are set up into 2 areas. 10 drives in raid 10 for the database and 2 drives in raid 0 for the temp directory and any other temporary data. This main server generally has around 300 users and about 30 to 40 active queries. It currently does about 3 million transactions a day mostly during the core hours of 8am to 6pm. It used to do as many as 10 million transactions a day but we used FBScanner to find a number of inefficient processes and we fixed them or moved them onto our secondary servers. We have a copy on four other servers which we keep up to date via replication. These servers run our larger reports. Some are equivalent to our main server and some are newer boxes with a single intel quad core (8 threads) and a mixture of Intel SSDs and SAS hard drives.

Our main server is now nearly 3 years old so we are considering retiring it to less strenuous duties. My question is what should the replacement box be? What is the best hardware that Firebird can effectively use? With the new intel 8 core (16 thread) and AMD 12 core CPUs you can now get boxes with up to 64 cores (128 threads). You can also get up to a terabyte of ram. Both these numbers are going up quickly. The problem is I have never heard anyone running Firebird on anything above 16 cores. Does the plan for 2.5 and 3 allow for better utilisation of these new CPUs? My other thought is are SSDs worth it? If you can afford enough RAM the hard drive doesn't seem to be a major factor.

I'd be interested to talk to anyone that is running similar large systems. What hardware they are using and how they have it tweaked.