Subject Re: [ib-support] Firebird slows after some Hours with 40+ Users
Author Helen Borrie
At 08:07 AM 10-12-02 +0000, Sven wrote:
>Hi all,
>we┬┤ve got an app that slows extremly down with 20+ Users, the app is runnin=
>g 24/7, peak we have 50+ Users. CPU-Usage grows ap. 100 times and request go=
> from 2 sec to 40-60 sec. We replaced all "edit" Transactions with Memorytab=
>les, but there are still some "readonly"-Transactions. Replacing them would =
>blowup the Client. We are using Delphi6 with IBX. Between OIT and OAT are ap=
> 15000 till 20000. The Server is a Dual-P3 600 MHz with 1 GB Ram with Win200=
>0 Server, CPU-Affinity is set to 1.
>Anyone got an idea?

If the app is slowing down and the Oldest Transaction isn't moving forward,
then it's a sure sign that your app has long-running transactions that are
inhibiting garbage collection. See the previous thread "Re: Problem with
growing database" as the issues raised and solved there apply to your
problem as well.

It's not a question of how many users are connected, but how many users are
connected and running long transactions.

Read-only transactions won't inhibit garbage collection. I doubt that
"replacing all "edit" Transactions with Memorytables" would have helped
anything. A table is not a transaction. The problem may have more to do
with using CommitRetaining in all cases, and never performing any hard
Commits to keep the garbage levels low.

Using table components will kill performance - they are not designed for
client/server databases and should be avoided.