Subject Scale or tune firebird?
Author Faisal Abdullah
Hi all,

I have an application *really* bad in design, which causes *very*
sluggish performance, to an extent of users not being able to use the
system at all. Of course the correct solution is to fix the code, and
there are a bunch of guys looking into that. But in the meantime, we
need a workaround. Its a production system, and the life of the
organisation depends on it.

We've pretty much identified that how the application handles the
database is what's causing the slowness. Is there any *immediate*
remedies we can try out? What I can think of is:
1) Upgrading the hardware
- We're already running on an 8 CPU machine with a 12 GB RAM. We
started off with a 1 CPU, then 4, now 8. The management won't invest
here no more.

2) Segregrating the users into time slots, to have less load at one
time. Management won't agree. How the business is run just cannot
accept this workaround.

Is there any other options, like load balancing, or having 2 seperate
DBs and sync them, or anything else?

We're using firebird 1.5.1 classic on Linux.

When the applications hangs, here are some statistics:
# ps -ef | grep fb_inet_server | wc -l

Memory: 12G, Used: 11GB, Swap: 2GB, Used: 0GB
Auto sweep at every 20000 transactions is ON.
We do a backup restore everyweek.
Forced write is ON.

Thanks a lot.


There are many ways of going forward, but there is only one way of
standing still.