服务器一次可以处理多少个客户端?

时间:2011-02-20 07:33:41

标签: architecture tcp network-programming

我认为答案很大程度上取决于客户将拥有什么样的活动,但我想我想建立一个客户端/服务器架构,只涉及连接和断开连接。

即打开TCP连接并将其维持三个小时。

是否有硬限制(由操作系统或协议等设置)可以同时存在多少可能的连接?

此外,这会对服务器产生什么样的开销?如果10000个客户端使用TCP连接并维持该连接(假设TCP具有自己的keepalive功能)3个小时,服务器是否必须处理除keepalive,连接和断开连接操作之外的任何内容?

1 个答案:

答案 0 :(得分:3)

我在这里写了博客:http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html

在Windows上有一些资源限制可能会导致您出现问题,但10,000个连接很容易。事实上,我在规格相当低的VM上运行了超过70,000个连接,详情请参见http://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.html

最有可能的是,您在代码中所做的事情会限制您可以处理的连接数量,现代操作系统将比您的代码更容易处理。