(转)netty、mina性能对比分析
转自:
http://blog.csdn.net/mindfloating/article/details/8622930
采用 mina 和 netty 各实现一个 基于 nio 的EchoServer,测试在不同大小网络报文下的性能表现
客户端-服务端:
netty 3.6.2.Final
| mina | tps | cpu | network io | art(average response time) | 90%rt(90% response time) |
| 1k | 45024/sec | 150% | 50MB/sec | < 1ms | 1ms |
| 2k | 35548/sec | 170% | 81MB/sec | < 1ms | 1ms |
| 5k | 10155/sec | 90% | 55MB/sec | 3 ms | 1ms |
| 10k | 8740/sec | 137% | 98MB/sec | 3ms | 4ms |
| 50k | 1873/sec | 128% | 100MB/sec | 16ms | 19ms |
| 100k | 949/sec | 128% | 100MB/sec | 33ms | 43ms |
| netty | tps | cpu | network io | art(average response time) | 90%rt(90% response time) |
| 1k | 44653/sec | 155% | 50MB/sec | < 1ms | 1ms |
| 2k | 35580/sec | 175% | 81MB/sec | < 1ms | 1ms |
| 5k | 17971/sec | 195% | 98MB/sec | 3 ms | 1ms |
| 10k | 8806/sec | 195% | 98MB/sec | 3ms | 4ms |
| 50k | 1909/sec | 197% | 100MB/sec | 16ms | 18ms |
| 100k | 964/sec | 197% | 100MB/sec | 32ms | 45ms |
mina 和 netty 在 1k、2k、10k、50k、100k 报文大小时 tps 接近
通过分析 mina 和 netty 的源码,发现处理 io 读事件时 buffer 分配策略上,两个框架有一些区别。
| netty | cpu |
| 1k | 75% |
| 2k | 125% |
| 5k | 126% |
| 10k | 126% |
| 50k | 118% |
| 100k | 116% |
mina: 需进一步优化其 buffer 分配,避免分配抖动导致的 io 吞吐波动
(转)netty、mina性能对比分析的更多相关文章
- 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)
如果你觉得我的有些话有点唐突,你不理解可以想看看前一篇<C++之冒泡排序.希尔排序.快速排序.插入排序.堆排序.基数排序性能对比分析>. 这几天闲着没事就写了一篇<C++之冒泡排序. ...
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析
最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性 ...
- ArrayList和LinkedList遍历方式及性能对比分析
ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayLis ...
- list 、set 、map 粗浅性能对比分析
list .set .map 粗浅性能对比分析 不知道有多少同学和我一样,工作五年了还没有仔细看过list.set的源码,一直停留在老师教导的:"LinkedList插入性能比Array ...
- Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 [ 转载 ]
Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 @author Trinea 原文链接:http://www.trinea.cn/android/arrayl ...
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)
主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...
- HBase在单Column和多Column情况下批量Put的性能对比分析
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/28/hba ...
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转载)
原文地址: http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 原文地址: http://www.trinea.cn ...
- 【转】ArrayList和LinkedList的几种循环遍历方式及性能对比分析
原文网址:http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 主要介绍ArrayList和LinkedList这两种 ...
随机推荐
- PHP 自定义header 参数获取的问题
有的情况下,我们需要把参数放在Headers 里传递.比如说与提供给移动端的api,不能进行缓存的时候. 但是,自定义的header 经常是拿不到的. 如果是apache 的服务器,可以用 apach ...
- Trove系列(二)—Trove 的架构和流程介绍
Trove主要逻辑目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理.数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未 ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON ConvolImage
zw版[转发·台湾nvp系列Delphi例程]HALCON ConvolImage procedure TForm1.Button1Click(Sender: TObject);begin img.D ...
- 20154312 曾林 Exp4恶意软件分析
写在前面 如果把恶意软件比作罪犯的话,怎么看这次实验? 实验目的:以后能够在茫茫人海中找到罪犯. 实验过程:现在以及抓到了一个罪犯,把他放到茫茫人海里去,看看他和普通人有啥区别.这些区别就是罪犯的特征 ...
- 持续集成之四:Jenkins+sonarqube
参考其他文章,编译 构建 检查工具 参考:https://blog.csdn.net/lswnew/article/details/79193529 http://www.uml.org.cn/cod ...
- C++11使用emplace_back代替push_back
最近在写一段代码的时候,突然很好奇C++11中对push_back有没有什么改进以增加效率,上网搜了一些资料,发现果然新增了emplace_back方法,比push_back的效率要高很多. 首先,写 ...
- Linux命令: touch tem.txt创建txt文件
touch tem.txt 创建txt文件
- SpringMVC 拦截器实现原理和登录实现
SpringMVC 拦截器的原理图 springMVC拦截器的实现一般有两种方式 第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口 第二种方 ...
- Linux服务器---DansGuardian
DansGuardian DansGuardian可以限制客户端的访问,通过这个软件,我们可以限制哪些网站不可以访问.哪些内容不能下载. 1.下载DansGuardian,提供一个网址http://w ...
- live555 编译
项目里面需要简单的rtsp服务器来实现视频预览等功能: rtsp本来不是太复杂的东西,github上有很多功能都比较完善的项目可以随便拿来用,但是测试过程中发现live555还是有性能上的一些差异: ...