Subject | Re: Firebird performance on Dual Core machine |
---|---|
Author | Adam |
Post date | 2006-01-02T00:00:02Z |
--- In firebird-support@yahoogroups.com, Andi Wangsadijaya
<And1_Wangsadijaya@y...> wrote:
(like multiple processors) or two virtual CPUs (hyperthreading). From
Helen's response, my educated guess is it is more like the first one,
so will have the same problem as multiple processors.
This problem involves Windows putting the Firebird process on one CPU,
noticing it is doing more than the second CPU, so doing a load balance
and moving the Firebird process to the second CPU, then noticing the
second CPU is now overworked, and the first is idle, and on it goes.
The CPU Affinity basically tells it to always execute on the given
CPU(s), regardless if Windows internal load balancing routine. As
there is so much performance lost in switching CPUs, it is often
better to only use one of them for Superserver.
Classic Server is different and so does not have this issue, you can
make use of multiple CPUs.
<And1_Wangsadijaya@y...> wrote:
>the value
> Hello Helen,
>
> On Monday, January 2, 2006, 5:53:18, You wrote:
>
> > Yes, it's true for the Superserver version, but not for Classic.
>
> > With SS you should keep the CPU affinity to one CPU. By default,
> > (a bitmask) is 1, which sets the affinity to CPU 0. Read therelease notes
> > and the notes in Firebird.conf. The release notes provide thealgorithm
> > for calculating the CPU affinity bitmask.I wasn't too sure whether multicore was seen as two separate CPUs
>
> > ./heLen
>
> If I set the affinity to CPU 0, will the performance to drop? Or it
> just make the performance is better than set the affinity to CPU more
> then 0?
(like multiple processors) or two virtual CPUs (hyperthreading). From
Helen's response, my educated guess is it is more like the first one,
so will have the same problem as multiple processors.
This problem involves Windows putting the Firebird process on one CPU,
noticing it is doing more than the second CPU, so doing a load balance
and moving the Firebird process to the second CPU, then noticing the
second CPU is now overworked, and the first is idle, and on it goes.
The CPU Affinity basically tells it to always execute on the given
CPU(s), regardless if Windows internal load balancing routine. As
there is so much performance lost in switching CPUs, it is often
better to only use one of them for Superserver.
Classic Server is different and so does not have this issue, you can
make use of multiple CPUs.