Guys, seems to me that the Naggle Algorithm hit again :)

When you reach around 25 req/s, whith an average of 40 ms per request means
you didn't disabled it. Try to change that :

SocketAcceptorConfig acceptorCfg = new SocketAcceptorConfig();
...
((SocketSessionConfig)(acceptorCfg.getSessionConfig())).setTcpNoDelay( true
);

I think it can change the performance *a lot* :)

(or something similar. On linux, you can type : sudo /sbin/sysctl -w
net.ipv4.tcp_abc=0)

Emmanuel

On 8/1/06, Niklas Therning (JIRA) <[EMAIL PROTECTED]> wrote:

    [
http://issues.apache.org/jira/browse/DIRMINA-232?page=comments#action_12424943]

Niklas Therning commented on DIRMINA-232:
-----------------------------------------

Hehe, just figured that out. Thanks! I see performance in line with what
you get:

[EMAIL PROTECTED]:~$ ab2 -k -n 100 http://localhost:8080/index.html
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation,
http://www.apache.org/

Benchmarking localhost (be patient).....done


Server Software:        MINA
Server Hostname:        localhost
Server Port:            8080

Document Path:          /index.html
Document Length:        10000 bytes

Concurrency Level:      1
Time taken for tests:   3.994865 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Keep-Alive requests:    100
Total transferred:      1011400 bytes
HTML transferred:       1000000 bytes
Requests per second:    25.03 [#/sec] (mean)
Time per request:       39.949 [ms] (mean)
Time per request:       39.949 [ms] (mean, across all concurrent requests)
Transfer rate:          247.07 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     4   39   4.7     39      69
Waiting:        0    0   3.1      0      30
Total:          4   39   4.7     39      69

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

So, still not anywhere near the 8571.66 Kbytes/sec you get with native
HttpCore. I will try to do some profiling and see if I can see what happens.


> Performance of StreamIoHandler degrades dramatically when the IoSession
is kept alive between HTTP requests
>
-----------------------------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-232
>                 URL: http://issues.apache.org/jira/browse/DIRMINA-232
>             Project: Directory MINA
>          Issue Type: Bug
>    Affects Versions: 0.9.5
>         Environment: Ubuntu Linux 6.06
>            Reporter: Oleg Kalnichevski
>
> I have been observing a strange issue with MINA's StreamIoHandler while
benchmarking the performance of the HTTP server based on HttpCore and MINA.
The throughput of the StreamIoHandler tends to degrade dramatically when the
IoSession is kept alive between HTTP requests. The problem is perfectly
reproducible with a slightly modified version of HttpProtocolHandler that
ships with MINA (no external code is involved).

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira





--
Cordialement,
Emmanuel Lécharny

Reply via email to