jiming 发表于 2013-1-28 22:29:37

Netty 性能测试(与Tomcat 对比)

一直以来都认为 Netty 的性能会非常优秀,打算在适当的时候使用它来开发一些要求超高新能的服务。

今天兴致勃勃的写了个简单的 HTTP 服务,同样也用 tomcat 写了一个对比的 jsp 页面。结果测试下来,感觉 Netty 的性能提升并不显著。Netty 中采用的是 NIO 模式。Tomcat 采用了缺省配置。

看来采用 Netty 还要再慎重测试一下。当然这个测试结果也不是特别的严谨。这个结论不是最终结论。

Netty 测试结果

ab -n 10000 -c 10 http://192.168.1.237:8080/This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.1.237 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Server Hostname:      192.168.1.237Server Port:            8080Document Path:          /Document Length:      151 bytesConcurrency Level:      10Time taken for tests:   5.641704 secondsComplete requests:      10000Failed requests:      0Write errors:         0Total transferred:      2110000 bytesHTML transferred:       1510000 bytesRequests per second:    1772.51 [#/sec] (mean)Time per request:       5.642 (mean)Time per request:       0.564 (mean, across all concurrent requests)Transfer rate:          365.14 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   1.4      0      23Processing:   1    4   2.1      4      37Waiting:      0    3   1.9      3      26Total:          2    4   2.7      5      38Percentage of the requests served within a certain time (ms)50%      566%      575%      580%      690%      695%      898%   1299%   16 100%   38 (longest request)

ab -k -n 10000 -c 10 http://192.168.1.237:8080/This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.1.237 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Server Hostname:      192.168.1.237Server Port:            8080Document Path:          /Document Length:      151 bytesConcurrency Level:      10Time taken for tests:   1.546421 secondsComplete requests:      10000Failed requests:      0Write errors:         0Keep-Alive requests:    10000Total transferred:      2560768 bytesHTML transferred:       1510453 bytesRequests per second:    6466.54 [#/sec] (mean)Time per request:       1.546 (mean)Time per request:       0.155 (mean, across all concurrent requests)Transfer rate:          1616.64 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   0.1      0       3Processing:   0    1   1.9      1      37Waiting:      0    0   2.1      1      37Total:          0    1   1.9      1      38Percentage of the requests served within a certain time (ms)50%      166%      175%      180%      190%      295%      298%      599%   10 100%   38 (longest request)

Tomcat 测试结果
ab -n 10000 -c 10 http://192.168.1.237:8080/TestWeb/a.jspThis is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.1.237 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Apache-Coyote/1.1Server Hostname:      192.168.1.237Server Port:            8080Document Path:          /TestWeb/a.jspDocument Length:      151 bytesConcurrency Level:      10Time taken for tests:   5.767970 secondsComplete requests:      10000Failed requests:      0Write errors:         0Total transferred:      3900000 bytesHTML transferred:       1510000 bytesRequests per second:    1733.71 [#/sec] (mean)Time per request:       5.768 (mean)Time per request:       0.577 (mean, across all concurrent requests)Transfer rate:          660.20 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   1.3      1      19Processing:   0    4   8.8      3   174Waiting:      0    3   8.6      2   173Total:          1    5   8.9      4   174Percentage of the requests served within a certain time (ms)50%      466%      475%      580%      590%      895%   1098%   1699%   26 100%    174 (longest request)


ab -k -n 10000 -c 10 http://192.168.1.237:8080/TestWeb/a.jspThis is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.1.237 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Apache-Coyote/1.1Server Hostname:      192.168.1.237Server Port:            8080Document Path:          /TestWeb/a.jspDocument Length:      151 bytesConcurrency Level:      10Time taken for tests:   2.93494 secondsComplete requests:      10000Failed requests:      0Write errors:         0Keep-Alive requests:    9904Total transferred:      3949520 bytesHTML transferred:       1510000 bytesRequests per second:    4776.70 [#/sec] (mean)Time per request:       2.093 (mean)Time per request:       0.209 (mean, across all concurrent requests)Transfer rate:          1841.90 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   0.1      0       4Processing:   0    1   7.4      1   232Waiting:      0    1   7.4      1   232Total:          0    1   7.4      1   232Percentage of the requests served within a certain time (ms)50%      166%      175%      280%      290%      395%      498%      899%   12 100%    232 (longest request)# ab -k -n 10000 -c 10 http://192.168.1.237:8080/TestWeb/a.jspThis is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.1.237 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsFinished 10000 requestsServer Software:      Apache-Coyote/1.1Server Hostname:      192.168.1.237Server Port:            8080Document Path:          /TestWeb/a.jspDocument Length:      151 bytesConcurrency Level:      10Time taken for tests:   2.179860 secondsComplete requests:      10000Failed requests:      0Write errors:         0Keep-Alive requests:    9904Total transferred:      3950705 bytesHTML transferred:       1510453 bytesRequests per second:    4587.45 [#/sec] (mean)Time per request:       2.180 (mean)Time per request:       0.218 (mean, across all concurrent requests)Transfer rate:          1769.84 receivedConnection Times (ms)            minmean[+/-sd] median   maxConnect:      0    0   0.2      0       8Processing:   0    110.5      1   329Waiting:      0    110.5      1   329Total:          0    110.5      1   329Percentage of the requests served within a certain time (ms)50%      166%      175%      280%      290%      395%      498%      799%   13 100%    329 (longest request)
页: [1]
查看完整版本: Netty 性能测试(与Tomcat 对比)