netty based http server performance 15K/sec
Jamie McCrindle
jamiemccrindle at gmail.com
Thu Aug 11 07:00:26 EDT 2011
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
>>
>
More information about the netty-users
mailing list