Subject Re: [firebird-support] Re: Firebird Usage Load Problem
Author Daniel Rail
Hi,

At July 14, 2005, 20:39, Maurice Ling wrote:

> script A: loads new data into PMC_* tables, process raw text and
> inserts results into TEXT_REPLACE_ABSTRACT and
> TEXT_REPLACE_ABSTRACT_UPRO tables. Does that 300 times. Then do a
> select * from TEXT_REPLACE_ABSTRACT_UPRO, process each record, then
> insert the results into ML_SVO table and delete the processed record
> from TEXT_REPLACE_ABSTRACT_UPRO table. [this script is a pure CPU
> eater. FB process called from this runs at 99.7% without any drop in
> intensity.]

> What I find interesting is this...... When ran non-concurrently, FB
> process uses >96% CPU after after about 36-42 hrs (script B and C will
> take about 10 weeks to run), FB seems to behave itself and no longer
> using that much CPU. Wonder why? What happened at the beginning?

Firebird is probably trying to do some garbage collection after the
deletes from the table TEXT_REPLACE_ABSTRACT_UPRO, maybe when the
script disconnects from the database and before Firebird unloads the
database from memory. You could try what someone else already
suggested: set sweep to zero to try to deactivate the garbage
collection.

Also, I have one question, why are you inserting into
TEXT_REPLACE_ABSTRACT_UPRO when the data is processed thereafter and
inserted into another table and then deleted from
TEXT_REPLACE_ABSTRACT_UPRO? Why not simply process the data
immediately and directly insert it into ML_SVO? If you can do it that
way, then it would most likely reduce the CPU usage, since there
wouldn't be any garbage collection.

--
Best regards,
Daniel Rail
Senior Software Developer
ACCRA Consultants Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.filopto.com)