[httperf] Undestanding request rate

david at lang.hm david at lang.hm
Tue Mar 31 18:29:13 PST 2009

On Tue, 31 Mar 2009, Arlitt, Martin wrote:

> The request rate specified on the command line is the desired successful 
> request rate.  However, there are numerous reasons why the desired rate 
> may not be achieved.  For example, resources on the client may be 
> exhausted, so httperf cannot obtain sufficient resources to reach the 
> desired rate.  The server may become overloaded, so httperf is unable to 
> establish enough TCP connections, and thus the desired number of HTTP 
> requests cannot be issued.  The network between the httperf client and 
> the server could also be a bottleneck, so that either the TCP connection 
> establishment does not complete in time, or the HTTP request does not 
> get acknowledged in time for it to be considered "successful".

in addition to all of these things there is also the precision of your 

httperf calculates how long it needs to wait between starting each 
connection and sets the timer for that long. the timers are guarenteed to 
not alert httperf any sooner than that timer value, but they may wait a 
little longer than that timer value.

when you start getting up to high rates the slight additional time can 
make a significant difference in the actual rate that you get.

there is a page that talks about high performance tweaking for httperf, 
look at that for options to try with the timer.

David Lang

> The man page includes a thorough description of the httperf output.  That may help answer some of your questions.
> Thanks
> Martin
>> -----Original Message-----
>> From: Mariano Cortesi [mailto:mcortesi at gmail.com]
>> Sent: Tuesday, March 31, 2009 11:48 AM
>> To: Arlitt, Martin
>> Cc: httperf at napali.hpl.hp.com
>> Subject: Re: [httperf] Undestanding request rate
>> Hi Martin,
>> I think the problem is that I don't really know what does the request
>> rate really means as an output. Does it include failed requests? For
>> example I would expecte the exact request rate I asked, but if the
>> server starts failing, not accepting requests o start sending
>> timeouts, then the reply rate would be suffering, but not the request
>> rate. Because, I understand that httpperf would be doing the request
>> at the rate that I asked, but recieving errors. Is that how it works?
>> What does request rate means? Is it the number of succesfull requests?
>> What information about my environment would help to see the problem?
>> Thanks!
>> Mariano
>> On Mon, Mar 30, 2009 at 6:16 PM, Arlitt, Martin <martin.arlitt at hp.com>
>> wrote:
>>> Hi Mariano
>>> There are numerous reasons that the request rate may be less than the
>> target rate. Without knowing anything about your experimental set up and
>> having only a vague description of the results, it will be difficult for
>> anyone to tell you what the cause is.  Clearly though something in your
>> test environment is bottlenecked.
>>> Martin
>>>> -----Original Message-----
>>>> From: httperf-bounces at napali.hpl.hp.com [mailto:httperf-
>>>> bounces at napali.hpl.hp.com] On Behalf Of Mariano Cortesi
>>>> Sent: Monday, March 30, 2009 2:06 PM
>>>> To: httperf at napali.hpl.hp.com
>>>> Subject: [httperf] Undestanding request rate
>>>> Hi,
>>>> I'm doing some stress tests with autobench + httpperf; and I have some
>>>> problems understanding the request rate that I get in the results.
>>>> The call I make is something like:
>>>> httperf --hog --timeout=5 --client=0/1 --server=myserver.com --port=80
>>>> --uri=/ --rate=4000 --send-buffer=4096 --recv-buffer=16384
>>>> --num-conns=120000 --num-calls=1
>>>> So I would expect a resulting request rate of 4000 requests/second.
>>>> But it achieves a request rate of 3000 r/s, and stays there.
>>>> Why's that?
>>>> I don't see how the server could be a problem, because, in any case,
>>>> the httpperf could try to make a new connection and get kicked out by
>>>> the server. But when I started searching for that in the server, i
>>>> didn't find any log saying that.
>>>> So, does anybody knows? Shouldn't the request rate always be the same
>>>> as the specificed in command line? why not?
>>>> Best Regards,
>>>> Mariano
>>>> _______________________________________________
>>>> httperf mailing list
>>>> httperf at linux.hpl.hp.com
>>>> https://www.hpl.hp.com/hosted/linux/mail-archives/httperf/
> _______________________________________________
> 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