Subject | Long ad hoc delays? |
---|---|
Author | Kjell Rilbe |
Post date | 2011-02-04T11:14:49Z |
Hi,
I've got an ASP.Net app with a FB 2.1 DB on a 64 bit Win system.
From time to time, apparently ad hoc, the FB server does "something"
that takes about half an hour. While doing so it does millions of I/O
reads and Windows' file cache consumes all memory I allow it to, but the
FB process itself doesn't seem to consume memory out of the ordinary.
The DB has two tables with about 150 million records each, a few tables
with a couple of million records, and several smaller tables. The large
tables have four and six active indexes each (and a couple of inactive
ones - I tried to deactivate a few to see if it helps).
I tried to set weep interval to 0 even though the OIT and next diff has
been less than 10 every time I looked, so I doubt a Sweep is the cause.
I guess the most likely reason is that the OO framework issues some SQL
that requires a natural scan of one or both of the large tables, or a
full index scan or something.
To see this, I'd need to trace/log what queries are issued when and when
they are completed (i.e. how long they took to execute). I may be able
to switch on loggin on the OO framework, but how would I best log it on
the FB server side?
I know there's FBTraceManager and FBSacnner(?). Would they give the info
I need? Any other way?
Thanks,
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64
I've got an ASP.Net app with a FB 2.1 DB on a 64 bit Win system.
From time to time, apparently ad hoc, the FB server does "something"
that takes about half an hour. While doing so it does millions of I/O
reads and Windows' file cache consumes all memory I allow it to, but the
FB process itself doesn't seem to consume memory out of the ordinary.
The DB has two tables with about 150 million records each, a few tables
with a couple of million records, and several smaller tables. The large
tables have four and six active indexes each (and a couple of inactive
ones - I tried to deactivate a few to see if it helps).
I tried to set weep interval to 0 even though the OIT and next diff has
been less than 10 every time I looked, so I doubt a Sweep is the cause.
I guess the most likely reason is that the OO framework issues some SQL
that requires a natural scan of one or both of the large tables, or a
full index scan or something.
To see this, I'd need to trace/log what queries are issued when and when
they are completed (i.e. how long they took to execute). I may be able
to switch on loggin on the OO framework, but how would I best log it on
the FB server side?
I know there's FBTraceManager and FBSacnner(?). Would they give the info
I need? Any other way?
Thanks,
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64