netty based http server performance 15K/sec

Jaymin Shah sjaymin at gmail.com
Thu Aug 11 08:10:08 EDT 2011


I have executed test few time and tried to observe socket usage using
TCPView <http://technet.microsoft.com/en-us/sysinternals/bb897437> and found
that even after test completed as Jamie mentioned in his email earlier -
most of the socket stuck in TIME_WAIT.

Any help on addressing this (on Windows) would be really appreciated.

reagrds,
Jaymin



On Thu, Aug 11, 2011 at 4:55 PM, Jaymin Shah <sjaymin at gmail.com> wrote:

> Thanks a lot for all your help and efforts.
>
>
> Any suggestion what are potential configurations I may have to do to
> increase number of open file and socket on windows to make my test scalable
> to 15K?
>
>
> I have tried searching OS file handler and socket related configuration on
> windows, had no success so far.
>
>
> regards,
>
> Jaymin
>
>
>
> On Thu, Aug 11, 2011 at 4:30 PM, Jamie McCrindle <jamiemccrindle at gmail.com
> > wrote:
>
>> It's worth saying that at 20000 requests and 200 threads, a default
>> Mac OS X 10.6 installation falls apart as it runs out of open files,
>> sockets get stuck in TIME_WAIT etc. so there is definitely an OS
>> tuning component to running a test like this.
>>
>> On Thu, Aug 11, 2011 at 9:49 AM, Jamie McCrindle
>> <jamiemccrindle at gmail.com> wrote:
>> > Hi Jaymin,
>> >
>> > Here are the results on my machine. It's Mac OS X 10.6, MBP 2.66 GHZ
>> > i7. I had to drop the numbers to 10000 requests and 100 threads with
>> > the default Mac config. This is with the snoop HttpServer run as
>> > follows:
>> >
>> > mvn
>> -Dexec.mainClass=org.jboss.netty.example.http.snoop.HttpServerDmaven.test.skip=true
>> > compile -Dskip-enforce=true exec:java
>> >
>> > It may be worth dropping the number of requests you're testing with as
>> > well as the concurrency.
>> >
>> > headline figure is: Requests per second:    13070.43 [#/sec] (mean)
>> >
>> > ab -n 10000 -c 100 "http://localhost:8080/"
>> > This is ApacheBench, Version 2.3 <$Revision: 655654 $>
>> > Copyright 1996 Adam Twiss, Zeus Technology Ltd,
>> http://www.zeustech.net/
>> > Licensed to The Apache Software Foundation, http://www.apache.org/
>> >
>> > Benchmarking localhost (be patient)
>> > Completed 1000 requests
>> > Completed 2000 requests
>> > Completed 3000 requests
>> > Completed 4000 requests
>> > Completed 5000 requests
>> > Completed 6000 requests
>> > Completed 7000 requests
>> > Completed 8000 requests
>> > Completed 9000 requests
>> > Completed 10000 requests
>> > Finished 10000 requests
>> >
>> >
>> > Server Software:
>> > Server Hostname:        localhost
>> > Server Port:            8080
>> >
>> > Document Path:          /
>> > Document Length:        230 bytes
>> >
>> > Concurrency Level:      100
>> > Time taken for tests:   0.765 seconds
>> > Complete requests:      10000
>> > Failed requests:        5
>> >   (Connect: 5, Receive: 0, Length: 0, Exceptions: 0)
>> > Write errors:           0
>> > Total transferred:      2901160 bytes
>> > HTML transferred:       2300920 bytes
>> > Requests per second:    13070.43 [#/sec] (mean)
>> > Time per request:       7.651 [ms] (mean)
>> > Time per request:       0.077 [ms] (mean, across all concurrent
>> requests)
>> > Transfer rate:          3703.07 [Kbytes/sec] received
>> >
>> > Connection Times (ms)
>> >              min  mean[+/-sd] median   max
>> > Connect:        0    1   0.6      1       7
>> > Processing:     0    3   2.2      3      14
>> > Waiting:        0    3   2.0      2      13
>> > Total:          1    4   2.2      4      14
>> >
>> > Percentage of the requests served within a certain time (ms)
>> >  50%      4
>> >  66%      4
>> >  75%      5
>> >  80%      5
>> >  90%      7
>> >  95%      9
>> >  98%     11
>> >  99%     12
>> >  100%     14 (longest request)
>> >
>> > On Thu, Aug 11, 2011 at 9:06 AM, Jaymin Shah <sjaymin at gmail.com> wrote:
>> >> I had tried it never got throughput more then 3K.
>> >> So question is can Netty be able to achieve mentioned throughput more
>> then
>> >> 15K as per http://www.olympum.com/java/quick-benchmark-java-nodejs/ ?
>> >>
>> >>
>> >> On Thu, Aug 11, 2011 at 1:28 PM, Mailing List SVR <
>> lists at svrinformatica.it>
>> >> wrote:
>> >>>
>> >>> Il 11/08/2011 09:34, Jaymin Shah ha scritto:
>> >>>
>> >>> Please find below command I had used and its output.
>> >>> Command#
>> >>> ab -n 20000 -c 200  http://localhost:8080/
>> >>>
>> >>> please try with different concurrency for example -c 5, -c 10 and so
>> on
>> >>> and see if the result change,
>> >>>
>> >>> Nicola
>> >>>
>> >>>
>> >>> Output#
>> >>> This is ApacheBench, Version 2.3 <$Revision: 655654 $>
>> >>> Copyright 1996 Adam Twiss, Zeus Technology Ltd,
>> http://www.zeustech.net/
>> >>> Licensed to The Apache Software Foundation, http://www.apache.org/
>> >>> Benchmarking localhost (be patient)
>> >>> Completed 2000 requests
>> >>> Completed 4000 requests
>> >>> Completed 6000 requests
>> >>> Completed 8000 requests
>> >>> Completed 10000 requests
>> >>> Completed 12000 requests
>> >>> Completed 14000 requests
>> >>> Completed 16000 requests
>> >>> Completed 18000 requests
>> >>> Completed 20000 requests
>> >>> Finished 20000 requests
>> >>>
>> >>> Server Software:
>> >>> Server Hostname:        localhost
>> >>> Server Port:            8080
>> >>> Document Path:          /
>> >>> Document Length:        230 bytes
>> >>> Concurrency Level:      200
>> >>> Time taken for tests:   8.438 seconds
>> >>> Complete requests:      20000
>> >>> Failed requests:        0
>> >>> Write errors:           0
>> >>> Total transferred:      5800000 bytes
>> >>> HTML transferred:       4600000 bytes
>> >>> Requests per second:    2370.09 [#/sec] (mean)
>> >>> Time per request:       84.385 [ms] (mean)
>> >>> Time per request:       0.422 [ms] (mean, across all concurrent
>> requests)
>> >>> Transfer rate:          671.22 [Kbytes/sec] received
>> >>> Connection Times (ms)
>> >>>               min  mean[+/-sd] median   max
>> >>> Connect:        0    0   6.1      0     507
>> >>> Processing:     5   83  97.4     63    1099
>> >>> Waiting:        3   52  76.5     41     598
>> >>> Total:          5   83  97.7     64    1099
>> >>> Percentage of the requests served within a certain time (ms)
>> >>>   50%     64
>> >>>   66%     70
>> >>>   75%     77
>> >>>   80%     80
>> >>>   90%    101
>> >>>   95%    116
>> >>>   98%    587
>> >>>   99%    597
>> >>>  100%   1099 (longest request)
>> >>>
>> >>> On Thu, Aug 11, 2011 at 9:36 AM, News Aanad <news.anand11 at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>>
>> >>>> ---------- Forwarded message ----------
>> >>>> From: Jamie McCrindle <jamiemccrindle at gmail.com>
>> >>>> Date: Wed, Aug 10, 2011 at 11:53 AM
>> >>>> Subject: Re: netty based http server performance 15K/sec
>> >>>> To: Netty Users <netty-users at lists.jboss.org>
>> >>>>
>> >>>>
>> >>>> Can you send the apache bench command line you used along with the
>> >>>> output?
>> >>>>
>> >>>> On Aug 10, 2011 8:09 AM, "Jaymin Shah" <sjaymin at gmail.com> wrote:
>> >>>> > Hi,
>> >>>> >
>> >>>> > It was claimed that netty based http server can handle *15693.29
>> >>>> > [#/sec]
>> >>>> > request* ref#
>> http://www.olympum.com/java/quick-benchmark-java-nodejs/
>> >>>> >
>> >>>> > I have tried using org.jboss.netty.example.http.snoop but never got
>> >>>> > performance beyond* 2285.58 [#/sec] (mean)*. I am using Windows 7 -
>> >>>> > 64-bit
>> >>>> > operating system with 4GB RAM and Intel core i5 with 2.40GHz
>> >>>> >
>> >>>> > Can someone please share their experience how I can achieve
>> mentioned
>> >>>> > performance.
>> >>>> >
>> >>>> > regards,
>> >>>> > Jaymin
>> >>>>
>> >>>> _______________________________________________
>> >>>> netty-users mailing list
>> >>>> netty-users at lists.jboss.org
>> >>>> https://lists.jboss.org/mailman/listinfo/netty-users
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> netty-users mailing list
>> >>> netty-users at lists.jboss.org
>> >>> https://lists.jboss.org/mailman/listinfo/netty-users
>> >>>
>> >>> _______________________________________________
>> >>> netty-users mailing list
>> >>> netty-users at lists.jboss.org
>> >>> https://lists.jboss.org/mailman/listinfo/netty-users
>> >>
>> >>
>> >> _______________________________________________
>> >> netty-users mailing list
>> >> netty-users at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/netty-users
>> >>
>> >
>>
>> _______________________________________________
>> netty-users mailing list
>> netty-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/netty-users
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/netty-users/attachments/20110811/8842f9c0/attachment.html 


More information about the netty-users mailing list