Subject Re: [firebird-support] Re: Weird pauses (on some machines) while pumping DB to other
Author Daniel Rail
Hi,

At Thursday, October 09, 2008, 4:34 AM, Tommi Prami wrote:

>> > CpuAffinityMask = 15 // is this needed with Classic
>> > to use all cores???
>>
>> This is Superserver only setting. Classic should use all cores by
>> default, no configuration is necessary.

> But can I still limit Classic server to use 6 of 8 available cores if I want
> to?

I don't think you can. Classic creates a new single thread process for
each new connection, and it's the OS that decides where that process
will be running.

As for Superserver, set the CpuAffinityMask to only use one core,
because the multithreading model is managed inside Firebird, and not
by the OS. So the OS can on occasion be switching the whole Firebird
process from one core to the other, in a ping-pong effect, and then
Firebird has a hard time to get something done. Luckily, the threading
model is starting to change in version 2.5(OS managed threads per
opened database) and will be fully multi-core and SMP compliant with
version 3.0(OS managed threads for each opened database and each
connection).

--
Best regards,
Daniel Rail