Re: 2 questions: getter/setter use and streams use
| From: | Jay Smith | Date: | Mon, 14 Apr 2003 16:31:22 +0000 |
| Subject: | Re: 2 questions: getter/setter use and streams use | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-907@lists.php.net to get a copy of this message | ||
I haven't done much testing yet, but our site is working fine. I've done a
few tests on include and fopen and such (we can include 10,000 files
without any problems and fopen ~1005 files after setting the max
per-process file limit to 1024.
Maybe it'll start messing up after I let the server run for a while longer,
but so far, so good. Haven't tried sfio with the iPlanet module yet, but it
seems to work with cli/cgi.
I'll play with it a bit more and we'll see what happens.
J
Wez Furlong wrote:
> On the contrary, it's easy to underestimate the problem :)
>
> If you are using a stdio replacement, (such as sfio), then you are
> more-or-less safe from the problem.
>
> The problem is that the native libc will not allow file descriptors
> with a numerical value > 255, regardless of your per-process file
> descriptor limit.
>
> If you are running under a longer-lived SAPI, the server or
> previous requests may have already bumped your descriptor usage above
> this limit (each open socket and file descriptor adds to the total).
>
> This means that any fopen(), fdopen() or popen() calls can fail without
> good reason.
>
> So, my advice to Solaris users is to use sfio where possible, and to
> keep an eye out for the error message "too many open files"; when you
> see it, you can try tuning your MaxRequestsPerChild (or equivalent)
> configuration setting in your web server and lower it, if possible.
>
> --Wez.
>