Subject | Re: Firebird performance degradation |
---|---|
Author | mikcaau |
Post date | 2005-12-24T23:23:36Z |
--- In firebird-support@yahoogroups.com, Francisco Heker
<sistemas@i...> wrote:
Db is keeping transactions open because clients are not committing them.
If you can shut down your clients then about 6 minutes after a client
is shut down (depends on load and default settings in firebird.conf)
any transactions it had open will be rolled back by the server.
Another trick is to write a routine that scans all queries or
transactions in your program and have it list those that are active
(not committed) to a log file.
Mick
<sistemas@i...> wrote:
><<snip>>
>
> Here is the output of gstat -hTransaction"
> Database header page information:
> Flags 0
> Checksum 12345
> Generation 265688
> Page size 1024
> ODS version 10.1
> Oldest transaction 262517
> Oldest active 262518
> Oldest snapshot 262518
> Next transaction 265520
> Bumped transaction 1
> Sequence number 0
> Next attachment ID 0
> Implementation ID 16
> Shadow count 0
> Page buffers 0
> Next header page 0
> Database dialect 3
> Creation date May 21, 2004 15:46:28
> Attributes
> Variable header data:
> Sweep interval: 300
> *END*
> As you can see, the "Oldest Active" is far way (3000) from "Next
> and near to "Oldest transaction". So, the sweep is not triggered.<<snip>>
> Why are the transactions being keept active?
> We are prety sure that our application is not doing commit_retaining.
>
>
>
>
> > At 03:39 PM 19/12/2005 -0300, you wrote:
> >Hi
> >
> tables) and big buildups of resources that, though abandoned by theclients
> hours ago, remain in memory awaiting hard commits to release them.Francisco,
>
> ./heLen <
>
Db is keeping transactions open because clients are not committing them.
If you can shut down your clients then about 6 minutes after a client
is shut down (depends on load and default settings in firebird.conf)
any transactions it had open will be rolled back by the server.
Another trick is to write a routine that scans all queries or
transactions in your program and have it list those that are active
(not committed) to a log file.
Mick