meta data for this page
Thoughts on Firebird performance
Holger Klemt, October 2021
When we are asked by our clients to evaluate the unsatisfactory performance of their Firebird installation, I have often reported our experiences.
In almost all cases we find unsuitable hardware, often also in combination with virtualisation. The usual question is: what can be done. Without blaming the hardware of course, because it was expensive and apparently offers so many advantages through virtualisation, is often the number one rule we hear.
Actually, in such cases we could terminate our consultation at this point. Although we can often find some Firebird config parameters or metadata during a hotline session, which can improve the general performance.
If the hardware has been committed to, the only thing left is monitoring, in order to at least identify any SQLs that are slow-running.
However, I always ask myself - as well as our clients - what these immense advantages of the hardware used are if, in return, there are obvious disadvantages when the users’ productivity suffers and all software processes run extremely slowly. Each day, several hours of working time are wasted, because it is not possible to work as quickly with the software as would be reasonably expected.
If you are a software producer who uses Firebird as a database in his product, but cannot stipulate to the customer that he should also use it on suitable hardware, you are then often the focus of criticism and are barely able to defend yourself.
Many customers have recognised our freely available IBExpert Benchmark Tool as a resource and use it intensively to refute such accusations. That is also what it is designed for.
However, the benchmark value is all too often so poor that the administrator responsible for the hardware or the external system house that supplied the server questions the value. So some other benchmark tool is used to prove that the server is not that slow! This means that the cause remains unclear and, of course, the hardware is not to blame and the person responsible washes his hands of the matter. Management does not get clear feedback and therefore cannot initiate any changes. Thus, for reasons that are not clear, many employees remain stuck on the side lines, unable to work productively with the software, as only the symptoms are treated, as is generally the case today with many diseases.
The software producer even shows the end customer with his own database on a laptop just how fast the software could be. However, the paradigm “virtualised servers are so secure, so fast and bring considerable savings” prevents any progress.
Any energy savings cited are nullified several times over by the increased caffeine consumption in the company. The savings in administrative costs of server maintenance that are often mentioned are limited to the IT administration department. But what are the savings when a Firebird installation on suitable hardware can be automated with a one-liner in the DOS or terminal window?
The servers, especially virtual host servers, are becoming more and more an end in themselves for IT administration. Patches and updates for something or other are continually being applied more or less voluntarily. A server that simply runs for several years without any intervention is beyond anyone's imagination. Perhaps however, only because this endangers their own area of responsibility and thus their own job.
A dedicated Firebird server with suitable hardware can work reliably and very quickly for years, especially if you don't want to keep making modifications, thereby thinking that you are making improvements. We know this from the hundreds of servers we supply and maintain on behalf of our clients. Just because someone read on the Internet that a certain Linux version with a certain service on it was hacked using very exotic methods, does not mean that the database server configuration has to be changed. This is especially not the case if the server is not accessible via the Internet. I don't need to go into detail about the fact that Microsoft distributes unsolicited updates that regularly cripple the general stability of such servers or reboots them at night without asking. For this reason, we always recommend our Linux-based IFS servers to our customers. In exceptional cases, i.e., if the software explicitly only works with Firebird on Windows, we will try to solve this problem together with the software manufacturer at the source. However, if this is also not possible, we also support dedicated Firebird servers with Windows in exceptional cases for an additional charge.
But vitally important: dedicated Firebird servers! Our hardware and software configuration is used exclusively to operate one or more Firebird databases.
Firebird places very high demands on I/O performance. And now imagine that a virtual host, which already requires a considerable amount of CPU and I/O load for its own administration, is also supposed to serve the Firebird service in an additional operating system instance! The extra operating system instance already generates quite a bit of CPU and I/O load. If other operating system instances are loaded on the same hardware, with application software as terminal servers, other services, etc., then the physical aspect is relatively simple.
The CPU, regardless of which series, can only communicate with the mainboard and consequently also with the RAM and the data carrier through the pins under the CPU casing. And no matter how many GHz this connection works with, if 4 virtual machines and the host have to share it, only a maximum of 20% remains for each. However, if one of the services, such as the terminal server, already consumes 50% of the total load, only about 12.5% remain for all others.
Why, with the basic math and physics skills that every IT worker should have for their general qualification, is it put into question why the Firebird server is slow and the software does not work as fast as it should; perhaps they should question their suitability in IT. Just consider running the Firebird server as a dedicated server on its own, on suitable hardware. You will be surprised just how fast your software will suddenly become.
The total investment, including hardware and 4 years software support, lies between 3,200 and 6,000 euros for each of our IFS servers. If the IT admin responsible for your hardware needs a little motivational support, simply arrange a free benchmark test with us. If the waiting time for the benchmark result is, as expected, very long, we will use the time to discuss your hardware solution and include your arguments in our evaluation.