Subject Re: [IBO] Performance problem with IB_Datapump
Author Geoff Worboys
> The common theme appears to be p4 CPUs causing problems.
> The P4 3000 does not have hyperthreading enabled (I will
> check this further) so probably the issue is not related
> to this. The Pump is using Ib-Cursors for source and Dest
> and is contained in its own transaction for each table.
> The performance lag occurs during the Ib_Datapump.execute
> method.

> Any suggestions would be greatly appreciated.

I've seen this before - with XP and hyperthreading enabled.

If this is the same problem I've seen then...

Its not IBO - its Firebird and possibly XP. (What
operating systems are you running?)

(Its nothing to do with cursors etc, even BLR based
transfers are effected - DBak uses BLR, so I've seen it)

Appropriate CPU affinity can help (matching the two
logical processors than exist on the same physical), but
does not resolve the problem completely

The problem only occurs on network based (even if they
are localhost) connections, true local connections appear
to work fine.

If you watch the transfer in progress you will see that
it seems occur in bursts with big pauses in between.
Perhaps this symptom varies with the size of the row
(eg with images or large blobs perhaps the pause may
occur on every row).

Other activity from additional connections sometimes
seems to "wake up" the transfer when it is paused.

I have a Win2K system here with dual CPUs that does not
have any problem (with default affinity settings). My XP
system is also dual (physical) CPU - so four logical) and
the problem varies considerably from table to table.

Marco Lauria and myself spent considerable time trying to
isolate the problem but even after applying various XP
hotfixes the problem continues. I've since upgraded to
XP SP2 and the problem still exists - although most of the
time it does not effect me very much.

Marco did post a message (Sep 2003) to the FB support list
but did not get much response.

The network aspect of the problem makes me wonder whether
it may be worth playing with some of FB config settings,
but I have not had time to try.

You did not mention what version of FB. My experience with
the problem described above is that it has existed since
at least FB 0.9.4 (probably earlier) and still exists in
FB 1.5.2.

If you want to compare notes further let me know.

Geoff Worboys
Telesis Computing