Subject Re: Firebird is slower on multicpu Window box then single cpu
Author tsttang
Thanks Helen.
I'll try out the cpu affinity change and see if it does make a
difference.

--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> At 10:03 PM 1/04/2005 +0000, tsttang wrote:
>
> >I have installed firebird database on a multicpu machine
> >with win2k server or window 2003 server. In either
> >case, the performance is much slower than the firebird
> >database I installed on a single cpu box with window
> >2000 server or window 2000 professional.
>
> That would be expected, unless CPU affinity were pinned to one
> cpu. (Superserver must be pinned to one cpu).
>
> >The
> >multicpu box has 2 GB memory, two 2.2 Ghz pentium 4
> >cpu. The harddisk performance is faster than the single
> >cpu box. The single cpu box has one single cpu, 2.2
> >Ghz pentium 4 and 2 GB memory. I have tried firebird
> >1.03 and 1.5.1 in super server configuration. I have
> >also tried 1.5.1 in classic server configuration in the
> >dual cpu box but the result is the same. In all cases,
> >the performance of the database is about three to four
> >times slower than on a single cpu box. The test is to
> >load 20000 records into the database using a java
> >program with jaybird as its jdbc driver. From task
> >manager, I can see the refresh rate of the I/O and I can
> >see that on the dual cpu box, the I/O rate for firebird is
> >3 times slower than that of the single cpu box. We
> >have used a disk benchmark program to measure the
> >disk speed on the dual cpu box and there is no
> >significant difference between the dual cpu box and the
> >single cpu box.
> >The same set of test is performed against firebird
> >v.1.01 in superserver configuration installed on multicpu
> >linux box with the same configuration as the dual cpu
> >box but no slow down in performance can be observed.
> >
> >Anyone has similar experience or an explanation to this?
>
> So far, there is insufficient information and no indication of the
> conditions you are actually testing. For a reasonable comparison,
and for
> some direction, I would expect a matrix showing the performance
results for
> each single CPU affinity setting. The algorithm for determining
the
> affinity can be found in firebird.conf, under the CpuAffinity
> parameter. You can apply the same formula when setting
cpu_affinity in
> ibconfig for Fb 1.0.x.
>
> Performance results for Superserver when the affinity is set to
more than
> one CPU are of academic interest only. Firebird and Windows don't
play
> nice together with multiple CPUs, so running with SMP is not an
> option. Comparisons become interesting when setting affinity to a
> different single CPU demonstrates differences in performance.
>
> When multiple CPUs cause degraded performance for Classic, either
you have
> something to worry about on your multi-CPU box, or your data-
loading
> strategy is I/O intensive by nature. You wrote:
>
> "The test is to load 20000 records into the database using a java
> program with jaybird as its jdbc driver."
>
> There is no indication here of whether these 20000 inserts are all
> happening in one transaction or even in one connection. There are
obvious
> scenarios here where unrealistic I/O would be the outcome of the
database
> access strategy, regardless of the CPU affinity settings.
>
> btw, don't forget that changing firebird.conf or ibconfig settings
for SS
> does not take effect until you shut down and restart the server.
For
> Classic on Linux, the next connection should see the changes.
However, for
> Classic on Windows, I suspect that you should shut down the
fb_inet_server
> service between changes.
>
> A test along these lines, designed and executed according to
> well-understood, distinct variations in the conditions, could be
quite
> useful, I think. It could be worth your while posting to the
firebird-java
> list, since I seem to recall that Roman has run some similar test
scenarios
> in the past with SMP machines...
>
> ./hb