2013-03-25 61 views
0

有多少客户可以同时连接到TidTCPServer?我用Indy10,DelphiXE2和目标操作系统是Windows Server 2003Indy客户的最大数量?

是否有德尔福更好的选择,而不是印的?

回答

3

默认情况下,MaxConnections最大设置为0,那么由印第安纳波利斯接受服务器另一个连接之前不检查活动线程的数量,但它主要取决于什么客户都做的服务器上。例如,如果您的服务器接受客户端连接,然后在该客户端线程上下文中将饼图计算为万亿位数,则与正在将工作交付给其他进程相比,正确处理的连接数会少得多。基本上,你的结果将直接根据所执行的任务而变化。

对于通用的答案...如果重写分配给每个线程默认堆栈大小,你可以有高达32位服务器应用程序几千连接,但比可能不会更多。请参阅:What's the maximum number of threads in Windows Server 2003?http://www.deltics.co.nz/blog/?p=1330

另请检查ListenQueue属性,默认设置为15。显然,操作系统可以进一步增加它自己......我不知道当前的Windows Server默认监听队列,但我通常会提高默认的数量。

底线 - 让一千活动线程/连接,你很可能会撞墙宜早不宜迟。

2

然而,许多客户操作系统可以利用现有资源处理。请记住,每个连接的客户端都使用自己的线程,因此您必须以进程的默认线程大小工厂。