Subject | very high cpu usage |
---|---|
Author | ochnap2 |
Post date | 2003-08-22T15:07:25Z |
I have a system using FB 1.0.3 that has a log table. Along each day
the system adds 5,000 to 8,000 registers to the table. That table has
many columns and indexes over several of those columns to allow very
fast queries. I have many installations of that system, with log
tables ranging from 500,000 to 3,000,000 registers each. Some specific
days of each month a cleanup process is run that deletes the already
processed data. This process usually removes 50,000 or 60,000
registers from the table.
So far so good. The problem is that we are noticing that some hours
after the cleanup process finishes, the responsiveness of the system
decays sharply for a while (1-2 hours). We found that in that moments
the cpu usage of the ibserver process is *very* high all the time
(from 80% to 98%) and starves the rest of the system.
I guess database is optimizing the indexes, the space usage, etc. I
know that the database eventually must do that housekeeping, but it
seems to choose the worst moments to do it...
So:
- Is there any way to limit the amount of cpu time that firebird
consumes?
or else:
- Can I choose the moments that the server uses to sweep?
Thanks in advance for any advice...
E.B.
the system adds 5,000 to 8,000 registers to the table. That table has
many columns and indexes over several of those columns to allow very
fast queries. I have many installations of that system, with log
tables ranging from 500,000 to 3,000,000 registers each. Some specific
days of each month a cleanup process is run that deletes the already
processed data. This process usually removes 50,000 or 60,000
registers from the table.
So far so good. The problem is that we are noticing that some hours
after the cleanup process finishes, the responsiveness of the system
decays sharply for a while (1-2 hours). We found that in that moments
the cpu usage of the ibserver process is *very* high all the time
(from 80% to 98%) and starves the rest of the system.
I guess database is optimizing the indexes, the space usage, etc. I
know that the database eventually must do that housekeeping, but it
seems to choose the worst moments to do it...
So:
- Is there any way to limit the amount of cpu time that firebird
consumes?
or else:
- Can I choose the moments that the server uses to sweep?
Thanks in advance for any advice...
E.B.