[httperf] Can httperf generate session whose length is exponentiallydistributed?

Martin Arlitt arlitt@granite.hpl.hp.com
Tue, 4 Mar 2003 07:31:30 -0800 (PST)


Weiyaya

in my opinion the output from the two tests is quite similar, considering
that your Web server is extremely overloaded. for example, if we breakdown
the 200 sessions from each test:

Test 1
------
  successful sessions: 11
server failure status: 83
       client timeout: 106

Test 2
------
  successful sessions: 23
server failure status: 65
       client timeout: 112

obviously there is some variability, but I think that is to be expected
given that your server is overloaded.

if you look at the average response times, you will see that they are also
quite similar:

Test 1: 2254 ms
Test 2: 2269 ms

regarding your second question, I do not think that SOMAXCONN is a reason
of overload.  I would investigate why Apache is taking so long to respond
to each request (i.e., what is the cgi-script doing?).  The server
machine itself does not seem to be overloaded, as the time to establish
the TCP connections is quite low:

Test 1: Connection time [ms]: connect 0.5
Test 2: Connection time [ms]: connect 0.3

Martin




On Tue, 4 Mar 2003, [GB2312] κѾѾ wrote:

> Dear Martin,
> 
>     Thank you for your reply. I have an another question.
>     I test my apache. I do the same test twice and get the output as follows: 
> 
> [wyy79@qoserver bin]$ httperf --hog --port 80 --rate 0.4 --failure-status 503  --server 166.111.70.100 --timeout 5 --uri /cgi-bin/test.pl --wsess 200,15,5   --session-cookies
> httperf --hog --timeout=5 --client=0/1 --server=166.111.70.100 --port=80 --uri=/cgi-bin/test.pl --failure-status=503 --rate=0.4 --send-buffer=4096 --recv-buffer=16384 --session-cookies --wsess=200,15,5.000
> Maximum connect burst length: 1
> 
> Total: connections 200 requests 1044 replies 938 test-duration 575.134 s
> 
> Connection rate: 0.3 conn/s (2875.7 ms/conn, <=30 concurrent connections)
> Connection time [ms]: min 151.7 avg 32827.8 max 125374.2 median 24331.5 stddev 33594.3
> Connection time [ms]: connect 0.5
> Connection length [replies/conn]: 4.737
> 
> Request rate: 1.8 req/s (550.9 ms/req)
> Request size [B]: 118.0
> 
> Reply rate [replies/s]: min 0.0 avg 1.6 max 4.0 stddev 1.2 (115 samples)
> Reply time [ms]: response 2254.0 transfer 125.4
> Reply size [B]: header 153.0 content 127.0 footer 2.0 (total 282.0)
> Reply status: 1xx=0 2xx=855 3xx=0 4xx=0 5xx=83
> 
> CPU time [s]: user 196.02 system 379.07 (user 34.1% system 65.9% total 100.0%)
> Net I/O: 0.7 KB/s (0.0*10^6 bps)
> 
> Errors: total 106 client-timo 106 socket-timo 0 connrefused 0 connreset 0
> Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
> 
> Session rate [sess/s]: min 0.00 avg 0.02 max 0.20 stddev 0.05 (11/200)
> Session: avg 1.00 connections/session
> Session lifetime [s]: 89.2
> Session failtime [s]: 29.3
> Session length histogram: 2 88 9 8 12 13 7 10 8 4 11 6 3 6 2 11
> 
> 
> [wyy79@qoserver bin]$ httperf --hog --port 80 --rate 0.4 --failure-status 503  --server 166.111.70.100 --timeout 5 --uri /cgi-bin/test.pl --wsess 200,15,5   --session-cookies
> httperf --hog --timeout=5 --client=0/1 --server=166.111.70.100 --port=80 --uri=/cgi-bin/test.pl --failure-status=503 --rate=0.4 --send-buffer=4096 --recv-buffer=16384 --session-cookies --wsess=200,15,5.000
> Maximum connect burst length: 1
> 
> Total: connections 200 requests 1187 replies 1075 test-duration 604.032 s
> 
> Connection rate: 0.3 conn/s (3020.2 ms/conn, <=24 concurrent connections)
> Connection time [ms]: min 151.9 avg 38670.0 max 117449.1 median 35383.5 stddev 35993.6
> Connection time [ms]: connect 0.3
> Connection length [replies/conn]: 5.429
> 
> Request rate: 2.0 req/s (508.9 ms/req)
> Request size [B]: 119.0
> 
> Reply rate [replies/s]: min 0.0 avg 1.8 max 4.6 stddev 1.3 (120 samples)
> Reply time [ms]: response 2269.0 transfer 128.5
> Reply size [B]: header 152.0 content 131.0 footer 2.0 (total 285.0)
> Reply status: 1xx=0 2xx=1010 3xx=0 4xx=0 5xx=65
> 
> CPU time [s]: user 202.28 system 401.74 (user 33.5% system 66.5% total 100.0%)
> Net I/O: 0.7 KB/s (0.0*10^6 bps)
> 
> Errors: total 112 client-timo 112 socket-timo 0 connrefused 0 connreset 0
> Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
> 
> Session rate [sess/s]: min 0.00 avg 0.04 max 0.40 stddev 0.09 (23/200)
> Session: avg 1.00 connections/session
> Session lifetime [s]: 104.5
> Session failtime [s]: 29.7
> Session length histogram: 2 75 11 6 12 8 15 13 8 7 9 6 3 1 1 23
>  
> 
> 
>    My question is:
>    1. All parameters are the same, but the output is quite different? I am so confused and don't know why.
>    2. In my apache server, the "SOMAXCONN" is the default value 128. From the output, you can see that my apache server is overloaded. Is the "SOMAXCONN" a reason of overload? I think if "SOMAXCONN" is small then there must be many "connrefused"
> errors in the output. But there is no "conrefused" error in the output, the size of "SOMAXCONN" is suffcient in my test. Am I right?
> 
>    Thank you very much. I am very appreciated if you can help me.
> 
> 
> Sincerely,
> 
> 
> Weiyaya
> 
> 
> 
> 
> 
> 
> 
> 
>