Subject Re: [firebird-support] Installation question
Author Helen Borrie
At 01:28 PM 20/08/2004 +0000, you wrote:
>Hi all,
>I would like to install FireBird on the following server:
>2x Intel XEON 2.8GHz
>2GB RAM (perhaps 2.5GB, not sure right now)
>Windows 2000 Server
>It will be a dedicated Firebird-Server.

That's a very good start - in fact, hardware-wise, that's the best feature
of all. :-)

>Am I right, that I have to install classic server, because it has SMP
>support while super server hasn't?

You don't *have* to install classic, just as you don't *have* to use
multiple processors for a database server. SMP will be an advantage to the
classic model; but it's not a must-do for SS.

What you should do is try it both ways, i.e. Superserver with cpu affinity
set to a single processor; and Classic, which will "go with the flow"
regarding the CPU that gets dished up to each server process that is
started. In the end, it won't be SMP that influences the choice, but which
server model suits the load characteristics better.

With the Xeons, it's also worth testing things with SS and both
processors. On some motherboards, it's been reported that SS balances
perfectly across 2 or 4 Xeons. For that you'll need to configure the cpu
affinity in firebird.conf.

Memory is the thing to focus on. There's a more direct relationship
between memory usage and connections in Classic so go for the 2.5 Gb if you
think you're going to use Classic. (SS won't mind the extra 500Mb, either!)

Don't spend memory on page cache at the expense of RAM for sorting and
grouping operations.

>Which configuration options should I alter, for maximum performance?

None. Keep the defaults and tweak them if you need to. But choose a
decent page size - 4K or 8K rather than 2K; 16K if you have large tables
with small rows.

>What would be the best buffer-sizes, etc.

Depends on a lot of real-life variables that you might or might not need to
be concerned about. It's something you can tweak downstream if needed.

The best "performance tuning" you can do with Firebird is to design good
databases, good indexes and good queries and to write application programs
carefully. Firebird will rock on much leaner machines than yours. Fatter
machines than yours will grind and groan with some of the design disasters
that people plant in them.