|Subject||Re: [firebird-support] Next TX #, OAT and Connection Duration?|
On Fri, 16 Jan 2004 19:45:08 +0000 (UTC), hugh_borst wrote:
> We are having performance degradation problems with several FireBirdAre you using "hard commits" (commit), or "soft commits" (commit retaining) ?
> and InterBase client installations and have searched throughout our
> client application (Delphi 5 and BDE) for long-running (uncommitted)
> transactions without success. We have closely examined the
> interaction between the client and the database and have found that
> when the database slows down, the Next Transaction ID value and the
> Oldest Active & Interesting Transaction values are highly divergent,
> perhaps as far off as 750,000 or more. This state of affairs slows
> the database down dramatically of course.
> We expected to find some long running transaction in the client code,
> but this is not the case. To our surprise, it seems that transactions
> started on a given connection while other, CONCURRENT connections are
> running will hold the OAT & OIT from advancing until ALL of those
> connections disconnect, regardless of the fact that all connections
> have committed their transactions. Once all clients have disconnected
> (including IBConsole), the transaction counters catch up to the next
> transaction value (within one, as expected) without fail. Unfortunately,
> we have some clients whose users are prone to running
> the application for days on end without exiting, much less rebooting.
> At any rate, we do have a mechanism for forcing the users off of the
> system, so we figure that we're all set, although we are very
> concerned that the engine is working in this way.