什么限制了Linux服务器上的最大连接数?
哪些内核参数或其他设置控制可在Linux服务器上打开的TCP套接字的最大数量?允许更多连接的权衡是什么? 我注意到在使用ab对Apache服务器进行负载测试时,最大化服务器上的打开连接非常容易。如果您取消了ab的-k选项,该选项允许连接重用,并使其发送大约10,000个以上的请求,则Apache会处理大约11,000个左右的请求,然后暂停60秒钟。查看netstat输出显示TIME_WAIT状态下有11,000个连接。显然,这很正常。出于TCP可靠性的原因,即使在客户端完成连接后,连接也会保持默认打开状态60秒。 看来这是对服务器进行DoS的一种简便方法,我想知道通常的调整和预防措施是什么。 这是我的测试输出: # ab -c 5 -n 50000 http://localhost/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 5000 requests Completed 10000 requests apr_poll: The timeout specified has …