[httperf] fd-unavail non-null
Rick Jones
rick.jones2 at hp.com
Fri Sep 3 10:27:47 PDT 2010
>>> *) I fear that assigning more than one IP to a single NIC on the
>>> server will stress the network load-balancing algorithm of the OS too
>>> much
>>
>>
>> How so?
>>
> In my previous experience, when using the Linux NIC bonding system to
> assign more than one IP per NIC, we weren't able to achieve full network
> performance.
> That's why I think that even if doing this on the clients is fine, it
> could add a significan overload on the server, because it has much more
> networking to deal with.
Why would you need to add more IP addresses to the server? Remember that TCP
connections are "named" by the four-tuple of local/remote IP plus local/remote
port. The ~1000 connection per second before TIME_WAIT reuse (if one has a 60
second TIME_WAIT and are not using randomly assigned ports - ie making explicit
bind() calls on the range of 5000-65535) is for a single server IP, single
client IP, and single server port.
If you add a second client IP, you double the theoretical connection rate before
TIME_WAIT reuse - no need to add another server IP. Each client IP address you
add adds another 1000 connections per second. Still no need to add IPs to the
server.
This is all predicated on the ass-u-me-ption that one can do explicit bind()
with both client IP and port number.
rick jones
More information about the httperf
mailing list