JiveJdon Community Forums
在线304人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » Java多线程 集群 并行模式
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 2 回复 / 1
 发表新帖子   回复该主题贴
sisi_622

悄悄话
发表文章: 1
注册时间: 2006年06月28日 20:46
偶的服务器:nio,困惑! 2006年06月28日 21:09 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 nio(8)     
偶的项目要求服务器支持2000个连接并发: (1)全双工的 (2)长连接的。也许错误选择了java,又错误使用了nio.
(1)连接数太大,偶用了线程池和nio.
(2)每100个连接分配一个MsgMgr,每个MsgMgr又开了三个线程:分别处理收,发和处理消息。
(3)因考虑到双工,偶每个MsgMgr使用两个selector:即每个socketchannel向两个selector分别注册读、写interOps.
(4)偶又开了一个线程序分配一个selector处理连接事件。
这样设计是否有问题,因偶觉得总线程数目太大,性能很差。
偶关于nio还有下面的问题,需要请教大家。
(1)一个selector在windows下好象只支持64个连接的并发,那是否意味着偶在windows下一个selector最多能被64个socketChannel注册?(确实有64个socketChannel同时读写的可能)。
(2)读写分开用selector有什么弊端,JVM支持selector的数目是否有限制,因为我发现每selector.open()会打开很多的监听端口
,请问nio为何要这么做??
(3)因偶是长连接,所以对每个socketchannel都要不停发beatMsg,按说这应该在MsgMgr中再开一beatThread,但偶觉得线程数目太庞大了,想将其放在处理线程中,是否会影响处理消息的速度,有什么解决办法?
偶经验不足,希望大家帮忙提些建议。多谢!
trueshow

悄悄话
发表文章: 1
注册时间: 2006年07月04日 09:33
Re: 偶的服务器:nio,困惑! 2006年07月04日 09:53 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
对你的问题感同身受.我的服务器需要不断接受连接,客户端会在不通知的情况下自行断开连接,平均每2秒就出现一次这种情况,在windows2003下运行时,我观察到句柄数不断增加,当增加到1万多少句柄时,就提示内存不足或回调错误,然后程序就崩了.这似乎是因为服务器端并没有自动删除注册在selector中的channel的对象,导致句柄不断增加.
我该如何解决这个问题呢?
希望有机会与你沟通...我的email:trueshow@163.com
banq

悄悄话
发表文章: 9316
注册时间: 2002年08月03日 17:08
Re: 偶的服务器:nio,困惑! 2006年07月04日 16:27 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
建议参考我的书籍<Java实用系统开发指南>中第一章基于NIO的框架。
这个网址可下载第一章案例,希望对你有用。

http://www.jdon.com/mybook/support.htm
这个主题有 2 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam