[httperf] httperf: connection failed with unexpected error 99
Mark Nottingham
mnot at yahoo-inc.com
Wed Aug 30 11:42:33 PDT 2006
So, what exactly does --hog do, then? Is it system-dependent?
> --hog This option requests to use up as many TCP ports as
> necessary. Without this option, httperf is typi-
> cally limited to using ephemeral ports (in the
> range from 1024 to 5000). This limited port range
> can quickly become a bottleneck so it is generally
> a good idea to specify this option for serious
> testing. Also, this option must be specified when
> measuring NT servers since it avoids a TCP incom-
> patibility between NT and UNIX machines.
On 2006/08/30, at 10:12 AM, Rick Jones wrote:
> 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 or...
>
> 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:
>
> sizeof(clientportpsace)/lengthof(TIME_WAIT)
>
> If one's system is using the "RFC compliant" anonymous port number
> space, that would be:
>
> (65535-49152)/lengthof(TIME_WAIT)
>
> 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:
>>> Hi,
>>>
>>> I got this error, but can't find what it means. Any ideas?
>>>
>>> Thanks,
>>> Mark
>>>
>>> _______________________________________________
>>> httperf mailing list
>>> httperf at linux.hpl.hp.com
>>> http://www.hpl.hp.com/hosted/linux/mail-archives/httperf/
>>>
>> _______________________________________________
>> httperf mailing list
>> httperf at linux.hpl.hp.com
>> http://www.hpl.hp.com/hosted/linux/mail-archives/httperf/
>
> _______________________________________________
> httperf mailing list
> httperf at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/httperf/
>
>
--
Mark Nottingham
mnot at yahoo-inc.com
More information about the httperf
mailing list