使用python在一台计算机(windows server 2008)上允许的最大并发HTTP连接数是多少

使用python在一台计算机(windows server 2008)上允许的最大并发HTTP连接数是多少,python,Python,更具体地说,我正在使用python并创建一个HTTPConnection(httplib)池,我想知道windows服务器上并发HTTP连接的数量是否有限制。好吧,每台机器上的internet套接字(进行TCP/IP连接所必需的)数量自然是有限的,但数量相当高。1000个模拟连接对于客户端机器来说应该不是问题,因为每个套接字只使用很少的内存。如果您开始通过所有这些通道接收数据,这可能会改变。我听说过测试设置可以从一个客户端同时创建数千个连接 对于服务器来说,情况通常是不同的,当它为每个传入的连接

更具体地说,我正在使用python并创建一个HTTPConnection(httplib)池,我想知道windows服务器上并发HTTP连接的数量是否有限制。

好吧,每台机器上的internet套接字(进行TCP/IP连接所必需的)数量自然是有限的,但数量相当高。1000个模拟连接对于客户端机器来说应该不是问题,因为每个套接字只使用很少的内存。如果您开始通过所有这些通道接收数据,这可能会改变。我听说过测试设置可以从一个客户端同时创建数千个连接

对于服务器来说,情况通常是不同的,当它为每个传入的连接执行繁重的工作时(比如分叉工作进程等)。1000个传入连接将影响其性能,并且来自同一客户端的连接很容易受到DoS攻击。我希望你负责客户端和服务器。。。或者它是同一台机器?

根据,客户端与Web服务器或代理的同时连接不应超过2个。然而,大多数浏览器并不尊重这一点——Firefox3.5允许每个服务器6个,每个代理8个

简而言之,您不应该打开到单个服务器的1000个连接,除非您的目的是影响服务器的性能。对服务器进行压力测试将是一个很好的合法例子


[编辑]
如果你说的是代理,那就有点不同了。我的建议是使用连接池。计算出每秒有多少同时连接给您最多的请求,并设置一个硬限制。额外的请求只需在队列中等待,直到池释放。请注意,默认情况下,单个进程的文件描述符上限通常为1024个


看看如何处理这个问题。

比如,我可以同时创建1000个到同一台服务器的连接吗?在不影响性能的情况下。为什么不试着创建1000个连接,看看会发生什么?我做到了,在1000个连接中,请求速度减慢了约500毫秒。在10个连接中,我在~10 msI不认为这是一个允许多少连接的问题,更像是你需要多少连接,或者你能有效使用多少连接。你有你提到的RFC的参考资料吗?是HTTP RFC吗?我可能应该加上这一点,而不是试图听起来很权威:)我不想对我的服务器进行压力测试。真正的问题是,我的服务器是负载平衡的,可能需要>2000个请求/秒。但是现在我们需要所有的请求都通过一个“代理”服务器,并且该代理服务器会为客户端接收到的每个请求创建一个新的连接。所以现在,我们不得不使用python来完成这个设计(