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]