(转)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这两种 ...
随机推荐
- dedecms开启多站点
dedecms开启多站点后,填写域名才能正确的地址 if ( ! function_exists('GetFileUrl')) { function GetFileUrl($aid,$typeid,$ ...
- 在MS SQL删除重复行的几种方法
1.如果有ID字段,就是具有唯一性的字段 delect table where id not in ( select max(id) ...
- zookeeper 安装以及集群搭建
安装环境: jdk1.7 zookeeper-3.4.10.tar.gz VM虚拟机redhat6.5-x64:192.168.1.200 192.168.1.201 192.168.1.202 ...
- Python 迭代器切片
函数itertools.islice() 正好适用于在迭代器和生成器上做切片操作 >>> def count(n): ... while True: ... yield n ... ...
- Python: yield, python 实现tail -f
def CreateGenerator(file): with open(file,'r') as t: t.seek(0,2) while True: line=t.readline() if no ...
- Windows批处理程序bat
@echo off 关闭回显,否则脚本中的命令都会输出,关闭后只显示结果. setlocal ENABLEDELAYEDEXPANSION 在for循环中变量扩展时需要用到 copy /Y ms ...
- PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word
PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...
- MAC安装最新datagrip之后无法非官方激活,而且启动过慢
由于之前安装过,更新最新版本之后发现不能使用(http://xidea.online)激活??? 解决方法:使用CleanMyMac等相应软件删除之后,还要去相应的保存记录的路径(/Users/用户名 ...
- OpenCV实现SfM(三):多目三维重建
http://lib.csdn.net/article/opencv/24548 注意:本文中的代码必须使用OpenCV3.0或以上版本进行编译,因为很多函数是3.0以后才加入的. 目录: 问题简化 ...
- (二) MySQL常用命令及语法规范