Subject Re: [IB-Architect] File handles and multiple database files
Author Chris Jewell
> From: Vince Duggan <vince@...>
> Date: Tue, 21 Nov 2000 10:27:20 +0200
> Good day all,
> In InterBase 5.x there is a known problem to do with limited file descriptors
> being available, and therefore there was a limit of around 248 users being able
> to connect.
> Chris Jewel did some work, specifically on the Solaris port, to raise this limit
> to 1024 (or was it 2048) descriptors.

I changed the inherent limit imposed by C's stdio.h library from
unsigned byte (256) to unsigned short (65536). It is likely that
something else will break, either in the OS or in our algorithms,
before you get close to 65535 open files in the server. There are
probably things you can tweek in /etc/system on Solaris to increase
the OS limits on open files per process and total open files in the
entire system (as opposed to the stdio library limits), but I haven't
researched them.

> There are two questions I would like to pose:
> 1. Did this work that Chris did make it into the final release of IB6?


> 2. Does the problem multiply with a database consisting of more than one file?
> i.e If the database consists of two files, is the (old) limit brought down to
> approx. 125 connections?

No. The limit is effectively reduced by 1 for each additional file in
any open database. The limit (before my change) was 256 open files in
the superserver process, including one for each database file, one for
the log file, one for each client connection, etc.

Chris Jewell developer/sysadmin voice: 831-431-6531
cjewell@... InterBase Software, Borland-Inprise fax: 831-431-6510