Subject Re: [firebird-support] Firebird 2.5 classic performance issue on linux64
Author Andreas Zeller


thanks for the response. Answers below.

On 26.02.2017 23:52, 'Leyne, Sean' Sean@... [firebird-support] wrote:


> - increase page size to 16kB (gbak -> and restore with new pagesize)
> - increased buffers for firebird to use up to 4GB of ram (256kB) via gfix

With Classic server you *need* to reduce the number of cached pages -- I would recommend a value < 500 pages

people keep telling me otherwise. Why would I not want firebird to fill up the cache with lots of pages? Am I misunderstanding firebirds buffer concept?

<SL> There are 3 different ‘modes’ that Firebird can run in. 


<SL> “Classic” mode is for a large number of connections.  For that mode, the number of pages needs to be reduced. 


<SL> For “SuperServer” and “SuperClassic” modes the number of pages can be maximized.

Alright. I am well aware of that. Each process has its own cache, inheriting the value from the configuration. Cache and buffers are configured accordingly. Thanks for the heads up though.



why would it do that? It is entirely under our control when and if the server restarts or shuts down. I agree with the reasoning, I just don't see the scenario. Power outage would be the worst case scenario. And if that actually happened mid-transaction, we have nightly backups that would be good enough.

Forced Writes = ON is HIGHLY recommended in all production use-cases.

I realize that. The worst case scenario is acceptable to the client though.

<SL> You must be in a unique environment.

nope. It's just that it is a very unlikely scenario and if this actually happens, losing just a days work is an acceptable risk. I'm not saying that this wouldn't be bad, but all of the work done can be easily reconstructed using e-mails and other incoming data.


<SL> My clients/users would have my skin if I told them they had to redo all their work at 5pm, the end of a busy work day – just because I wanted to save “millisecond” for each write operation (given the presence of a RAID controller with battery cache) by using Forced Writes = Off and the power went out (someone bumped a power switch).

I can see that. But in this particular scenario, we're talking 1-2 seconds per mouse-click. Depending on the operation. if you slow down everything (!) like that, it is going to be a lot more productive for them to get some work done every day than losing a days work around every two years :) but generally you are right.

This is the first time we encountered a firebird database, so this is new ground to all of us.

Lock tables seem to be empty though. That is what google told me about the error.

I really am lost. fb_config tells me that the config directory is the one I picked. However, firebird still uses /tmp/firebird as a temp directory, regardless of what I set as envvar or in the config.

So I am obviously concerned that none of the settings I make do have any effect.

How can I check out if any of that had any effect?