论坛首页 Java企业应用论坛

MINA使用心得及相关要点,有一个bug的解决方案,不知道其它朋友是否遇到过(一)

浏览 47495 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-05  
xnxqs 写道
happyblue 写道
xnxqs 写道
happyblue 写道
可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发?
谢谢


单台通讯机的并发量就是二W,这个并发量是按同一时间点来算的.因是通过软件来模拟测试,所以不可能存在实际意义上的同一时间点上的并发,但这确实是没有间断的发过2W个连接.  模拟软件一次性发完2W个链接,大致所花时间在10秒以内,而通讯机处理完所有报文,大概需要90秒左右.

不知道你的通讯机作为客户端转发报文的时候,在linux环境中高并发的时候有么有出现过open too many files的情况?每个nioSocketConnector都会打开十几个文件,而linux环境默认每个进程是1024,照这样的话,这个并发量应该是在50左右;不知道你是怎么解决这样的高并发的问题的?



你这个算法有问题,怎么可能只有50左右? 连接有几种状态,当他为IDLE时,几乎不占资源。还有,MINA是基于NIO架构的,就是说一个线程可能管成成千上百个连接,怎么并发量只有50呢。建议你先多看下NIO的基础文档。



Linux中open too many files是因为打开的文件句柄数超过当前用户配置环境中默认打开文件最大数而报出的异常,需要修改file-max这个系统配置参数为65535或者更大,另外最好配合在用户目录下.bash_shell中加入unlimit -u


最近也在学习Socket NIO,对于高并发的处理还没有得到要略,还未学习Mina和Netty这些框架。楼主的分享非常有参考价值。
0 请登录后投票
   发表时间:2012-05-22   最后修改:2012-05-22
Mojarra 写道
xnxqs 写道
happyblue 写道
xnxqs 写道
happyblue 写道
可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发?
谢谢


单台通讯机的并发量就是二W,这个并发量是按同一时间点来算的.因是通过软件来模拟测试,所以不可能存在实际意义上的同一时间点上的并发,但这确实是没有间断的发过2W个连接.  模拟软件一次性发完2W个链接,大致所花时间在10秒以内,而通讯机处理完所有报文,大概需要90秒左右.

不知道你的通讯机作为客户端转发报文的时候(楼主可能没看清通讯机作为客户端转发报文),在linux环境中高并发的时候有么有出现过open too many files的情况?每个nioSocketConnector都会打开十几个文件,而linux环境默认每个进程是1024,照这样的话,这个并发量应该是在50左右;不知道你是怎么解决这样的高并发的问题的?



你这个算法有问题,怎么可能只有50左右? 连接有几种状态,当他为IDLE时,几乎不占资源。还有,MINA是基于NIO架构的,就是说一个线程可能管成成千上百个连接,怎么并发量只有50呢。建议你先多看下NIO的基础文档。



Linux中open too many files是因为打开的文件句柄数超过当前用户配置环境中默认打开文件最大数而报出的异常,需要修改file-max这个系统配置参数为65535或者更大,另外最好配合在用户目录下.bash_shell中加入unlimit -u


最近也在学习Socket NIO,对于高并发的处理还没有得到要略,还未学习Mina和Netty这些框架。楼主的分享非常有参考价值。


没错,通过修改这个是可以解决这个问题,那这样最大的并发量也就是65535/10=6553,我的意思是有没有其他方法来解决这个问题呢?也就是达到楼主所说的2W左右
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics