[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