[httperf] httperf: connection failed with unexpected error 99

Rick Jones rick.jones2 at hp.com
Wed Aug 30 10:12:22 PDT 2006

Martin Arlitt wrote:
> hi Mark
> on my system it is
> #define EADDRNOTAVAIL   99      /* Cannot assign requested address */

Grep/find on /usr/include is a wonderful thing isn't it :)

Which could mean an attempt to bind to an IP not assigned to the system 

an attempt to reuse a "four-tuple" of local/remote IP, local/remote port 
while that four-tuple was still in say TIME_WAIT.  If we have a single 
client IP, speaking to a single server IP and the server is at a single 
well-known port (eg 80) then this will happen when the connection 
"churn" rate is greater than the size of the local client port number 
space divided by the length of TIME_WAIT:


If one's system is using the "RFC compliant" anonymous port number 
space, that would be:


And given a common lengthof(TIME_WAIT) of 60 seconds yields:

   16383/60  or ~273 connections per second.

It is _NOT_ a good idea to "fix" this by shortening TIME_WAIT, even for 
a benchmark, because that takes one away from "reality" (however 
painful).  The proper fix is to first increase the 
sizeof(clientportspace) by having the application explicitly bind to a 
larger range of port numbers.  The SPECweb benchmarks tend to use 5000 
to 65535 so that gives us:

   (65535-5000)/60 or ~1000 connections per second

before there would be any attempts to reuse a connection name that is 
still in TIME_WAIT.

If you need more connections per second than that, the proper thing to 
do is start adding IP addresses.

rick jones

> (from /usr/include/asm/errno.h)
> Martin
> On Tue, 29 Aug 2006, Mark Pors wrote:
>>I got this error, but can't find what it means. Any ideas?
>>httperf mailing list
>>httperf at linux.hpl.hp.com
> _______________________________________________
> httperf mailing list
> httperf at linux.hpl.hp.com
> https://www.hpl.hp.com/hosted/linux/mail-archives/httperf/

More information about the httperf mailing list