Subject Re: [firebird-support] Firebird memory requirements per user
Author Helen Borrie
At 02:02 AM 23/07/2004 +0000, you wrote:
>Are there any published studies on the memory required by a Firebird
>server per connected client? If so where?
>A potential client for my FB application is asking me this question
>and I cannot answer it. I can look at the memory use by the fbclient
>service on my Win2K workstation when several users are connected to
>the database but using the Win2K task manager for this gives unclear
>(to me) results.

Estimating (from Chapter 1 of the forthcoming doorstopper):

Server Memory (All Platforms)
Estimating server memory involves a number of factors:
• Firebird server process: The Firebird server process makes efficient use
of the
server's resources. The Superserver utilizes around 2MB of memory. On
POSIX, the
Classic server uses no memory until a client connection is made. On Windows, a
small utility service is listening for connection requests.
• Client connections: Each connection to the Superserver adds approximately
115KB, more or less, according to the style and characteristics of client
and the design of the database schema. Each connection to the Classic
server uses about 2MB.
• Database cache: The default is configurable, in database pages. The
shares a single cache (with a default size of 2,048 pages) among all
and increases cache automatically when required. The Classic server creates an
individual cache (with a default of 75 pages) per connection.
As an estimate, allow 64MB of available RAM for a server and 16MB for a local
client. The more clients you add, the more RAM will be used. Databases with
page sizes consume resources in larger chunks than do those with smaller
page sizes.
Resource usage on the Classic server grows by a fixed amount per client
attachment; on Superserver, resources are shared and will grow dynamically
as needed. Firebird 1.5 will use extra available RAM for sorting if it is
available. Memory usage is discussed in more detail in Chapter 6.