W wjy1986 Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-28 #1 小弟现在要测试一下IdTCPServer的最大并发连接数。哪位大虾可以告诉我怎么做?最好是有代码的,或是测试思路,谢谢。
S szf Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-28 #2 Indy9是使用多线程阻塞socket实现并发的,每个连接有一个对应的工作线程,在此模式下,其开发快照已经很稳定了,但没有正式发布(我在200以上并发项目中实践过)。这种方式的并发连接数只受限于操作系统和硬件资源的支持,一般并发数在3k或以下是问题不大的,再多的话,操作系统光是调度线程就很忙了。要更高的并发数,在win平台下强烈建议使用IOCP(完成端口)技术,据说Indy10是支持IOCP的,但我没用过。使用IOCP, 并发连接数可达数万而且不会对操作系统本身产生过大负担,但其它地方的设计当然也要顾及到大规模连接数了。
Indy9是使用多线程阻塞socket实现并发的,每个连接有一个对应的工作线程,在此模式下,其开发快照已经很稳定了,但没有正式发布(我在200以上并发项目中实践过)。这种方式的并发连接数只受限于操作系统和硬件资源的支持,一般并发数在3k或以下是问题不大的,再多的话,操作系统光是调度线程就很忙了。要更高的并发数,在win平台下强烈建议使用IOCP(完成端口)技术,据说Indy10是支持IOCP的,但我没用过。使用IOCP, 并发连接数可达数万而且不会对操作系统本身产生过大负担,但其它地方的设计当然也要顾及到大规模连接数了。
W wjy1986 Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-28 #3 谢谢!IOCP我是做过的,这个我是知道的。不过我是想知道IdTCPServer的确定的最大连接数。是要通过的代码测试出结果的。这方便的能不能提供一些帮助?
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-29 #4 http://www.delphibbs.com/delphibbs/dispq.asp?lid=2259852IdTCPServer实际的也差不多!
L luoyanqing119 Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-29 #5 除了控件自身的性能外,硬件资源也要考虑在内。其实运行的操作系统也有关系.