Hi, Michael !
I suppose "Connection Times (ms)" table section actually describes
individual requests? And "Percentage of the requests served within a certain
time (ms)" as well?

For me it seems that concurrency is hardly working at all,  but threads are
blocked (or waiting) somewhere outside of doGet Servlet's method, cause
doGet performance doesn't not differ to that extend (although there is some
waiting issues inside obviously)




I made 3 new measurements for different concurrency levels (100, 10, 1)
----------------
Servlet's doGet overall method execution time is counted this way

static long overall
doGet(request, response)
{
    long start = System.currentTimeMillis();

    // here goes logic
    …

    //synchronized{
    overall += System.currentTimeMillis() - start;
    }
}
----------------





Concurrency = 100
=======================================
ab.exe - n 100 -c 100 {address}
ab.exe execution time=7.641 seconds
overall doGet servlet execution =8067
=======================================

Concurrency Level:      100
Time taken for tests:   8.234 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      2770200 bytes
HTML transferred:       2742700 bytes
Requests per second:    12.14 [#/sec] (mean)
Time per request:       8234.375 [ms] (mean)
Time per request:       82.344 [ms] (mean, across all concurrent requests)
Transfer rate:          328.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       16   70  33.3     63     172
Processing:   500 4097 2098.4   4141    7719
Waiting:      141 3700 2115.9   3719    7344
Total:        547 4168 2097.3   4266    7734

Percentage of the requests served within a certain time (ms)
  50%   4266
  66%   5344
  75%   5984
  80%   6344
  90%   7109
  95%   7500
  98%   7672
  99%   7734
 100%   7734 (longest request)



Concurrency = 10
=======================================
ab.exe - n 100 -c 10 {address}
ab.exe execution time=8.094 seconds
overall doGet servlet execution =7206
=======================================

Concurrency Level:      10
Time taken for tests:   8.094 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      2770200 bytes
HTML transferred:       2742700 bytes
Requests per second:    12.36 [#/sec] (mean)
Time per request:       809.375 [ms] (mean)
Time per request:       80.938 [ms] (mean, across all concurrent requests)
Transfer rate:          334.24 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       31   75  29.0     78     141
Processing:   172  695 149.0    734     891
Waiting:      109  344 143.7    328     719
Total:        250  770 156.3    813    1000

Percentage of the requests served within a certain time (ms)
  50%    813
  66%    828
  75%    844
  80%    875
  90%    922
  95%    953
  98%   1000
  99%   1000
 100%   1000 (longest request)


Concurrency = 1
=======================================
ab.exe - n 100 -c 1 {address}
ab.exe execution time=10.578 seconds
overall doGet servlet execution=4672
=======================================

Concurrency Level:      1
Time taken for tests:   10.578 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      2770200 bytes
HTML transferred:       2742700 bytes
Requests per second:    9.45 [#/sec] (mean)
Time per request:       105.781 [ms] (mean)
Time per request:       105.781 [ms] (mean, across all concurrent requests)
Transfer rate:          255.74 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       16   24   8.1     31      47
Processing:    63   81   8.8     78     109
Waiting:       63   67   7.6     63      94
Total:         94  105   9.0    109     125

Percentage of the requests served within a certain time (ms)
  50%    109
  66%    109
  75%    109
  80%    109
  90%    109
  95%    125
  98%    125
  99%    125
 100%    125 (longest request)


============================================================================
============================================================================


Michael Ludwig-6 wrote:
> 
> kazukin6 schrieb am 13.12.2008 um 18:15:33 (-0800):
>> 1) there is maxThreads=100 in context.xml 
>> 2) sending 100 simultaneous requests to one servlet, for example ab.exe
>> -n
>> 100 -c 100 {address}
>> 3) in the servlet's own log for performance it shows around only 200-500
>> ms
>> per request
>> 4) in the  ab.exe log it shows around 7 seconds(!) per request
> 
> It doesn't, at least not in the log you're showing here.
> 
>> full log of ab.exe is
>> ====================================================
>> Concurrency Level:      100
>> Time taken for tests:   16.656 seconds
> 
> That's the time taken altogether.
> 
>> Complete requests:      100
>> Failed requests:        0
>> Write errors:           0
> 
> Everything fine.
> 
>> Total transferred:      2770200 bytes
>> HTML transferred:       2742700 bytes
>> Requests per second:    6.00 [#/sec] (mean)
>> Time per request:       16656.250 [ms] (mean)
> 
> This is the total time divided by, well, "request": You have only one
> request in this sense, because you send all of your total 100 requests
> in parallel. To verify, try:
> 
>     ab -n 100 -c 10 http://localhost/
> 
> That should get you about a tenth of the time taken altogether.
> 
>> Time per request:       166.563 [ms] (mean, across all concurrent
>> requests)
>> Transfer rate:          162.42 [Kbytes/sec] received
> 
> Michael Ludwig
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/tomcat6%2C-bottleneck%2C-concurrent-requests%2C-windows-xp-tp20996642p21007968.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to