Subject Re: [firebird-support] Choosing Firebird Version and Server OS and bits (32 or 64)
Author Helen Borrie
At 12:21 PM 8/04/2008, you wrote:
>Hi All,
>We have:
>An existing 2GB Firebird 2.0 SS database with 200 concurrent users,
>on a gigabit network.
>A Dual Opteron 16GB Ram, Linux 64 bits Fedora Core 5 server (Linux
>uname -a Linux 2.6.18-1.2239.fc5 #1 SMP x86_64 x86_64 x86_64
>A Dual Core Duo Intel 64 bit Xeon with Windows 2003 32 bit installed,
>with all patches installed.
>And We are currently planning to migrate to whatever is recommended
>(either FB 2.0 RC 4 or 2.1 or whatever, on Win2003 64/32 or Linux
>I read about some issues with Firebird and linux 64 bits,
>Could someone help us understanding the difference between database
>versions and what is the recommende version to go live with, and what
>server is better (Linux 32 ,64? or Win 32 - 64?)

A 32-bit application can run (albeit sub-optimally) on a 64-bit (amd64) OS. However, a 64-bit application can't run on a 32-bit (or x86) OS. No Firebird Superserver releases so far can benefit from multiple CPUs. On multi-CPU Windows machines you must set CPUAffinity to a single processor (the default is processor 0).

On Windows, there is no 64-bit implementation of Fb 2.0.x so your choice is Classic or Superserver. Choose Classic if you want to utilise your 2 processors. For Fb 2.1, choose the 64-bit version only if you're running the 64-bit Server 2003. The 32-bit version will also work.

If you are running a 32-bit Linux, test both Classic and Superserver with typical loads and choose the one that works better.

If you choose SS for Linux you will need to match the build version with the threading model that is enabled in your Linux kernel: usually NPTL is enabled with the 2.6 Kernel but some distros may have (or should have) it disabled because of known issues with Opteron CPUs.

Choose the non-nptl SS build if you're using a 2.4 kernel or if the Opteron issue on the 2.6 kernel has been addressed by disabling NPTL.

For 64-bit, it gets simple again. Choose the amd64 arch build if you are running a 64-bit Linux, with your preference of Classic or Superserver.