You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Alain Fauconnet <al...@cscoms.net> on 2002/11/22 08:25:22 UTC

[users@httpd] File descriptor weirdness: Apache 2.0.43, Solaris, Perl, Sbox and more

Hello,

I've  been  bitten  by all the problems that arise when running a busy
Apache  on  Solaris  with  a lot of virtual hosts (400+ in this case).
Namely:

(1) limited number of FDs the Solaris standard library can support
(2) early swap reservation on Solaris causing *huge* amounts
of swap to be required, even when the box has a lot of  free  physical
memory

(1) was rather easily solved by linking Apache (1.3.x) with  the  SFIO
library instead of Solaris' standard library.

(2) doesn't seem to have any possible fix for Apache 1.3.x, there  has
been extensive discussions going on  on  various  Solaris  groups  and
lists and the conclusion is that there wasn't much to be done.

Apache 2.0.x with its new threaded workers model is  a  possible  fix,
since  the  problem arises because every new forked process causes the
reservation  of  large  amounts of swap. A lot less process forked for
same number of clients = much less swap  needed  and  much  less  gigs
of disk space wasted!

So I've eventually decided to take the  jump  and  upgrade  to  2.0.x.

Apart  from  some  problems  with  PHP  (with  solutions in the latest
snapshots)  Apache  has  been  quite  solid  and  migration reasonably
smooth.

However, I've noticed that with Apache 2.0.x, I now need to link *all*
of Apache, Perl (for CGIs) and Sbox  (allows  for  chrooted  CGIs  and
resource limitation + security checks + UID change a la suexec) to the
SFIO library. If I don't, CGI scripts fail almost as soon as they open
any file (including when requiring a module).

My  idea is that Apache 1.3.x called CGI scripts with a minimum set of
FDs open, whereas Apache 2.0.x calls them with the full set, including
all access logs, error logs. In my case, well over 2000 FDs.

Is this a necessary consequence of the new threaded worker  module  or
what?

I can live with it, just curious.

Greets,
_Alain_

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org