[httperf] Why are responses limited to number of connections

Marcus Clyne maccaday at gmail.com
Mon Feb 23 07:56:19 PST 2009


Hi,

I've written a small custom-built HTTP server using libev.  I've tested 
it out using ab with the command

ab -n 10000 http://localhost:8002/url

and things work fine.  All 10k responses are returned with 2xx codes.

However, if I do

httperf --server=localhost --uri=/url --port=8002 --num-calls=10000

I get the following response:

httperf --client=0/1 --server=localhost --port=8002 --uri=/url 
--send-buffer=4096 --recv-buffer=16384 --num-conns=1 --num-calls=10000
Maximum connect burst length: 0

Total: connections 1 requests 2 replies 1 test-duration 0.003 s

Connection rate: 310.1 conn/s (3.2 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 3.2 avg 3.2 max 3.2 median 3.5 stddev 0.0
Connection time [ms]: connect 0.2
Connection length [replies/conn]: 1.000

Request rate: 620.2 req/s (1.6 ms/req)
Request size [B]: 63.0

Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 2.5 transfer 0.5
Reply size [B]: header 142.0 content 335.0 footer 0.0 (total 477.0)
Reply status: 1xx=0 2xx=1 3xx=0 4xx=0 5xx=0

CPU time [s]: user 0.00 system 0.00 (user 0.0% system 124.0% total 124.0%)
Net I/O: 182.6 KB/s (1.5*10^6 bps)

Errors: total 1 client-timo 0 socket-timo 0 connrefused 0 connreset 1
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0


Moreover, if I change the number of connections (e.g. --num-conns=5) the 
2xx reply statuses show that number of responses.

I'm not quite sure what is happening, and what needs to be changed in my 
source code to get HTTPerf working properly.

Can anyone help, please?  Thanks in advance.

Marcus.



More information about the httperf mailing list