Re: Solaris 100K TCP connections, good example? was:[Fwd: [Fwd:

Chuck Lever (cel@monkey.org)
Tue, 28 Sep 1999 11:52:16 -0400 (EDT)


On Tue, 28 Sep 1999, Alan Cox wrote:
> > in that case, every filesystem iget operation has to wade through 100K+
> > inodes to find an inode (imagine the length of the hash lists in a 256
> > bucket hash table!). every d_lookup has to do the same. each inode is as
>
> So dont use a 256 bucket hash table. Dave has some nice 2.2. patches for
> the hashes (and the socket hashes want to be bigger too)

sorry if the "hash table" thing got in the way of my real point -- that
is, perhaps socket management can be more memory-efficient. it may have
made sense a while ago to create an inode for each socket before there
were dentries, and before you could create more than 4K sockets per
system. nowadays i think it is wasteful and introduces DoS and system
instability where one might expect normal behavior. administrators need
to be aware of how to set their fd and socket maximums, and what can
happen if they don't set them appropriately -- this is now a security
issue.

reading the earlier note on changes in solaris to allow more sockets, it
sounds as if sun encountered the same kind of scalability issue.

- Chuck Lever

--
corporate:	<chuckl@netscape.com>
personal:	<chucklever@netscape.net> or <cel@monkey.org>

The Linux Scalability project: http://www.citi.umich.edu/projects/linux-scalability/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/