Subject Re: High CPU consumption
Author Adam
--- In, "kapsee"
<kapil.surlaker@g...> wrote:
> My application is using the C interface to execute queries against
> firebird most of which are updates. I find that firebird consumes a
> lot of CPU while this is happening. I expected to be I/O bound if at
> all it was going to be a bottleneck. I am somewhat surprised by the
> amount of CPU it takes. I am also using prepared statement handles
> which I just bind and execute, so parsing queries is not an issue.
> Any idea how I can track this down ?
> Thanks!!

Is it a big job to convert it to a .sql script, then run it inside
iSQL? I am curious as to whether it is related to your interface or
whether it is related to something Firebird is doing.

Lots of CPU generally means lots of garbage in the database. If you
are doing lots of updates, then this is going to create a lot of new
record versions. If you are using Superserver, maybe it is sweeping.
Set the sweep interval to 0 to test this. If so, you need to manage
your transactions better, or at the very least lose the autosweep and
schedule it to run in the middle of the night.

Other things, triggers on the tables. What are they doing? If they are
running queries etc, then this would cause performance issues.