You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2006/08/01 19:51:04 UTC

Re: [jira] Commented: (DIRMINA-232) Performance of StreamIoHandler degrades dramatically when the IoSession is kept alive between HTTP requests

On Tue, 2006-08-01 at 19:44 +0200, Emmanuel Lecharny wrote:
> 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
> 

Yes, indeed. That did the trick. Thanks a bunch.

Oleg

> On 8/1/06, Niklas Therning (JIRA) <ji...@apache.org> 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:
> >
> > niklas@niklas:~$ 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
> >
> >
> >
> 
>