Tomcat、Netty、Jetty很有趣的简单压测报告
来源:互联网 发布:二维数组push 编辑:程序博客网 时间:2024/04/29 02:28
今早对Tomcat7.0.5、Netty3.2.3、Jetty-hightide-7.2.2做了一个简单的压测,
测试方案我想肯定是不太严谨的,但是对于快速评估还是有点价值的,测试结果出乎意外。
压测工具: ApacheBench(简称ab), Version 2.3
测试服务器有两台:
被压测服务器 和 运行ab的服务器
两台服务器的配置都是:
64位Linux,双CPU,4G内存
Tomcat7.0.5 使用BIO(阻塞IO),最大线程开了200个,
Netty3.2.3和Jetty-hightide-7.2.2都使用NIO,Jetty最大线程开了250个。
请求总数固定是10万,对每个请求的响应字节数固定是1k,
以下是测试结果:
第一列是最大并发数,其他三列是每妙处理的请求数,
并发500、1000时测了4次,并发2000、3000测了两次,并发10000时测了3次。
BIO NIO NIO 并发 Tomcat Netty Jetty 500 8723 8311 4471 11270 10737 566711064 10986 557011625 10469 46881000 7994 8321 5021 10045 9885 500610162 10156 47369842 10166 47622000 8040 7803 4668 8487 8148 45623000 6540 6784 4528 7145 7166 415810000 4303 5099 3500 4558 5973 30064457 5037 3471
可以看出Tomcat和Netty只有达到10000并发时才开始有明显差距,
而Jetty在并发为2000以下时都比Tomcat和Netty要差一倍,即使达到10000并发,Jetty的NIO也比Tomcat的BIO差。
从这个结果来看,我真的很怀疑在64位OS和高速局域网中是否有必要使用NIO?
补充:
Tomcat7.0.5的NIO基本上不可用,每次压都是:
严重: java.lang.OutOfMemoryError: Java heap space at org.apache.coyote.http11.InternalNioInputBuffer.<init>(InternalNioInputBuffer.java:58) at org.apache.coyote.http11.Http11NioProcessor.<init>(Http11NioProcessor.java:77) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.createProcessor(Http11NioProtocol.java:435) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:363) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1526) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619)Exception in thread "http-8080-exec-321" java.lang.OutOfMemoryError: Java heap spaceSEVERE:Memory usage is low, parachute is non existent, your system may start failing.
- Tomcat、Netty、Jetty很有趣的简单压测报告
- springboot框架servlet容器tomcat、Jetty、undertow压测报告
- JMeter 压测报告
- etcd压测报告全球
- 有趣的廣告
- 数据库中间件-分库分表压测报告
- Ucloud数据方舟内测报告
- Oracle ADF BC层压测报告
- JFFS2 & MTD on M25P64 效率初测报告。
- 一.配置简单的嵌入式tomcat和jetty
- servlet容器tomcat和jetty的简单使用
- 一.配置简单的嵌入式tomcat和jetty
- Jetty和tomcat的比较
- jetty,tomcat两者的区别?
- Jetty和Tomcat的选择
- Jetty 与 Tomcat 的比较
- Jetty和tomcat的比较
- Jetty和tomcat的比较
- 三星和Google再联手:Nexus TV?
- MFC的DEBUG_NEW与GDI+的冲突问题
- [mongodb翻译]分片的限制(sharding limit)
- 主要几种通信协议的性能比较收藏
- ASIHttpRequest库简介、配置和安装
- Tomcat、Netty、Jetty很有趣的简单压测报告
- 两个对象相互定义
- Windows下Nginx的启动、停止等命令
- 你大爷我想吃牛腿
- yum和apt-get用法及区别
- ASIHttpRequest-创建和执行request
- c++不识别string类型
- 关于shared library的描述
- 调整ubuntu 文件句柄数