lkml.org 
[lkml]   [1998]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: File-descriptors - large quantities
Chris Wedgwood wrote:
>
> On Wed, Jul 08, 1998 at 02:29:13PM +1000, Dancer wrote:
>
> > My math says I should need a max of about 6000fds to have the server
> > keep up with requests. I figured that if the performance hit was not
> > _too_ extreme that 12000 should be relatively future-proof.
> >
> > The particular bit of software (squid 1.1) I think has poll(2) as an
> > option. I've not looked at that part of the source closely of late.
>
> squid only uses poll(2) for certain OSs - and linux I don't think is one of
> them. I think there have been patches submitted for squid-1.2.23 (not yet
> released) to detect and use poll(2) if it exists.
>
> poll(2) will work with old kernel, because libc will emulate it, but if its
> not supported by the kernel, performance will suffer badly.
>
> If you really need this many FDs and can't spread the load over multiple
> squids, you might want to look at the newer kernels with Bill Hawes patches
> to support gobs of FDs and also poll(2).

Hmm. My arithmetic says 6K fds per squid is what we need. We _do_ have
multiples. They are very heavily loaded multiples, and someone in the
past planned things to cover X clients with Y boxes. Those are a couple
of my limiting factors, environmentally. I can't add more boxes.

My predecessor hopped on the linux 2.1.xx bandwagon (2.1.89-96 IIRC),
which caused us enormous loss-of-face, as the production servers, hung,
rebooted, or crashed in front of everyone. I don't think we can afford
to chance _that_ again.

> All this assume, select(2) will suck for 12k FDs, which I've not tested.

Well, it doesn't suck badly enough to hurt for 3K. So, assuming we get
four times the suckiness for 6K, we might still be cool.


Aside from basic suck, you can't think of any related problems?


--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GAT d- s++: a C++++$ UL++++B+++S+++C++H++U++V+++$ P+++$ L+++ E-
W+++(--)$ N++ w++$>--- t+ 5++ X+() R+ tv b++++ DI+++ e- h-@
------END GEEK CODE BLOCK------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:43    [W:0.080 / U:1.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site