精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-20
hipx 写道 sendUrgentData保活,不能理解,java接收端无法区分带内数据和常规数据,urgent数据也仅是理论上来说能够绕过常规数据流先接收,这样的话好像与常规发送一个-16没什么区别?
java接收端只要支持sendUrgentData的话,就一定会区分sendUrgentData所发送的紧急数据,而不是叫什么内数据,另外我们做个假设, 假设常规发送是以回车换行来代表一次数据的发送完毕,这个与紧急数据就会有很大的区别吧?紧急数据只支持一个字节的发送,它的发送机制是与OS内部的程序代码调用息息相关的,怎么能说与常规发送没有区别呢?真要是没有区别,JDK里面就不会有sendUrgentData的存在了。“urgent数据也仅是理论上来说能够绕过常规数据流先接收”这个不仅是理论上的,在常规阻塞的SOCKET应用中,大多数情况下都能使用的一个东东。并且服务端还不需要你做什么设置,其用处非常广泛的。 |
|
返回顶楼 | |
发表时间:2011-07-22
好多,慢慢看。。你一点都懒
|
|
返回顶楼 | |
发表时间:2011-07-23
这个流程图有点问题的 接收到数据时没有问题的,但发送数据时也就是session.write()时的流程有问题 过滤器链是顺序执行的 IoFilter1 -> IoFilter2 -> IoFilter3 接收到消息流程是:IoService -> IoProcessor -> IoFilter1 -> IoFilter2 -> IoFilter3 -> IoHandler 发送消息时:Iohandler ->IoProcessor -> IoFilter1 -> IoFilter2 -> IoFilter3 -> Ioservice
过滤器由IoService注册,而调用是由IoProcessor完成,数据的接受和发送都是由IoProcess执行,因此过滤器不可能倒序执行。 我跟踪过这个执行顺序得到的结论,希望大家不要受到这个图片的误导
|
|
返回顶楼 | |
发表时间:2011-08-05
http://www.iteye.com/problems/69477
这是我最近发的问答。相关MINA的。请大家帮解答下。谢谢 |
|
返回顶楼 | |
发表时间:2011-08-19
xnxqs 写道 文章到这里基本上算是结束了,而项目最终的并发量从 2680 提升至 3.5W, 客户要求的是 2W 的并发量,所以后面更高的并发没有继续再测,至本文截稿为止,最新的消息是项目的一期工作已经顺利通过了国家级机构的评测。但实质上本文关于 MINA 框架还有很多东西没有涉及到,比如说与 Spring 的结合,对 Jmx 的支持,自定义协议详细举例等等,但我想这点小困难应该不会妨碍大家对 mina 的学习热情吧!感兴趣的童鞋不妨把它当成一个课后作业来做做吧 !! ^_^ 可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发? 谢谢 |
|
返回顶楼 | |
发表时间:2011-08-21
happyblue 写道 可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发?
谢谢 单台通讯机的并发量就是二W,这个并发量是按同一时间点来算的.因是通过软件来模拟测试,所以不可能存在实际意义上的同一时间点上的并发,但这确实是没有间断的发过2W个连接. 模拟软件一次性发完2W个链接,大致所花时间在10秒以内,而通讯机处理完所有报文,大概需要90秒左右. |
|
返回顶楼 | |
发表时间:2011-08-21
有没有遇到内存泄漏问题?如果有遇到那又是如何解决的?
|
|
返回顶楼 | |
发表时间:2011-08-22
xnxqs 写道 happyblue 写道 可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发?
谢谢 单台通讯机的并发量就是二W,这个并发量是按同一时间点来算的.因是通过软件来模拟测试,所以不可能存在实际意义上的同一时间点上的并发,但这确实是没有间断的发过2W个连接. 模拟软件一次性发完2W个链接,大致所花时间在10秒以内,而通讯机处理完所有报文,大概需要90秒左右. 不知道你的通讯机作为客户端转发报文的时候,在linux环境中高并发的时候有么有出现过open too many files的情况?每个nioSocketConnector都会打开十几个文件,而linux环境默认每个进程是1024,照这样的话,这个并发量应该是在50左右;不知道你是怎么解决这样的高并发的问题的? |
|
返回顶楼 | |
发表时间:2011-10-10
http://www.iteye.com/problems/72943
请帮忙看看。 |
|
返回顶楼 | |
发表时间:2011-10-18
happyblue 写道 xnxqs 写道 happyblue 写道 可否具体讲你单台通讯机的并发量是多少?还有你这个并发量是怎么算的,是算每秒的并发量还是一个时间点上的并发?
谢谢 单台通讯机的并发量就是二W,这个并发量是按同一时间点来算的.因是通过软件来模拟测试,所以不可能存在实际意义上的同一时间点上的并发,但这确实是没有间断的发过2W个连接. 模拟软件一次性发完2W个链接,大致所花时间在10秒以内,而通讯机处理完所有报文,大概需要90秒左右. 不知道你的通讯机作为客户端转发报文的时候,在linux环境中高并发的时候有么有出现过open too many files的情况?每个nioSocketConnector都会打开十几个文件,而linux环境默认每个进程是1024,照这样的话,这个并发量应该是在50左右;不知道你是怎么解决这样的高并发的问题的? 你这个算法有问题,怎么可能只有50左右? 连接有几种状态,当他为IDLE时,几乎不占资源。还有,MINA是基于NIO架构的,就是说一个线程可能管成成千上百个连接,怎么并发量只有50呢。建议你先多看下NIO的基础文档。 |
|
返回顶楼 | |