On 5/3/07, Bert JW Regeer <[EMAIL PROTECTED]> wrote:

On May 3, 2007, at 9:30 AM, Eduardo Meyer wrote:

>> # uname -a
> 5.5-STABLE FreeBSD 5.5-STABLE #6: Wed May  2 20:19:43 BRT 2007
>> # apachectl -v
> Server version: Apache/2.0.59
> Server built:   May 2 2007 18:38:18
>> > I have raised maxfiles, but my openfiles do increase and the
>> problem
>> > with Apache persists.
>> Does it only affect Apache?
> Certainly not. But my concert is Apache, and this is the only
> application this server runs.
> I have also compiled EXTRA_FLAGS=-DFD_SETSIZE=8192 (currently, it was
> 2048) and the results were just the same.
>> Steve

Since this is my first post to the mailling list, top post or bottom
post which one is preferred?

If you have a problems with open file descriptors beccause of
VirtualHosts it is my guess that you are logging separately for each
vhost (both access, and error). The way I found to solve this was to
put it all in one file that is then split up into the separate files
using a perl script. It is called split-logfile and can be found
online, I believe it was in the Apache source tree. All you need to
change is instead of having seperate log files for each of them, you
have one log file (which outputs the information using the vhost name
as the first item on the line so that the perl script can sort it
through that), thus only one FD is used to log.

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-
Agent}i\"" cvh
CustomLog /usr/local/logs/everything.log cvh

So you can scale out to 5000 vhosts and not run into any limit
problems. For errors the splitting up is a bit more tricky, but you
should be able to get it done as well.


This is an interesting approach. I will consider it. However I believe
one day I will reach this limit again. So I think this is a matter
that will demand some tuning in the future.

Thanks for pointing this approach to avoid using too many FDs :)

Good luck,
Bert JW Regeer

Eduardo Meyer
profissional: [EMAIL PROTECTED]
freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to