Subject Re: [ib-support] Re: Firebird slows after some Hours with 40+ Users
Author Helen Borrie
At 10:01 PM 10-12-02 +0100, Zdeno wrote:
>Hello, dimi1309,
>
>set sweep interval to zero - your database is doing garbage
>collecting every 20.000th transaction. And that takes a lot of time.

This statement is wrong. If the sweep interval is 200000, it means that a
sweep will be initiated when the newest transaction has a number that is
greater than the transaction number of the oldest interesting transaction +
20000.

>It is better to run garbage collector manually.

Not necessarily. In a tidy system, where the client application always
ensures that all transactions get properly resolved, the threshold for the
sweep is normally never reached and so, the automatic sweep never occurs.

The background garbage collection - as long as it is allowed to proceed -
will take care of cleaning out the obsolete record versions. However,
background garbage collection doesn't do everything that a full sweep does.

The background garbage collection does not free up the rollback garbage. If
the client applications often perform rollbacks, it should be a regular
admin task to perform a manual sweep, to free the space occupied by the
recversions of rolled-back transactions, regardless of whether automatic
sweeping is enabled.

Disabling automatic sweeping is NOT a cure for the problems caused by
applications which are untidy about resolving transactions.

Helen