> I have a network testing app that would like to open
> 100K outgoing sockets. I have modified my local range
> in /proc/sys to allow 2048 - 65000 sockets to be used
> for out going connections.
> I start another client on System A and tell it to connect
> to 10.10.14.197 port 443. This client is also told to open 50K
> sockets. At ~12K sockets it fails.
What fails? Is it the socket() call? What error does it fail
with? For instance, is it failing with a ENOBUFS or
ENOMEM? EAGAIN, ETIMEDOUT? What kind of socket: TCP or UDP?
(TCP, I assume, but neednt be). Have you bumped up limits
like /proc/sys/fs/inode_max, file-max? System wide, ulimit?
> So here's my question, I'm a novice at this sort of thing so
> I may have done something completely off the wall, but assuming
> I'm going out a different network interface, why are all socket
> allocations for outgoing connections appearing to come out of
> the same pool ?
> Logically speaking, shouldn't it be possible to use the same
> socket number for an outgoing socket going out a totally
> different network interface and thus get another completely
> unused socket range ? Am I just missing a /proc/sys configuration
> switch ?
Port space is unique for a protocol (i.e.: TCP or UDP)
across a host, independent of interfaces.
thanks,
Nivedita
|