Apache连接

我有一个i5服务器2.8 Ghz,16GB的RAM,没有交换,它连接到100Mbps端口+ Debian 6稳定

我正在运行一个小的LAMP站点,服务器几乎空闲……它使用了1400MB的ram和cpus,接近4%。

我以100Mbps从另一台服务器做了一个小基准

#!/bin/bash for i in {1..300} do wget -b -r -l 1 -x www.site.com done 

我得到这个:

141个文件,3.3M(每次下载)

我可以达到97Mbps,没关系(MTRG)。

但问题是在第一台服务器上…当我有这样的事情:

 root@server:~# ss | grep ESTAB | wc -l 300 (or more) 

服务器似乎没有响应,但它仍然几乎空闲…根据iotop I / O也是空闲的。

Mysql设置为允许1000个连接,至今没有问题。

Apacheconfiguration

 Timeout 300 KeepAlive On MaxKeepAliveRequests 0 KeepAliveTimeout 15 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> 

 root@server:~# cat /etc/sysctl.conf net.core.somaxconn = 10240 .... 

我和Apache和Sysctl一起玩,寻找更好的东西,但我没有find它。

任何帮助表示赞赏

closuresKeepAlive,然后重新运行它..你保持每个连接打开15秒的Apache连接,等待从你运行的wget的另一个连接。 我相信你会KeepAliveclosures更好的结果

您也可以安全地增加MaxClients设置。 Apache儿童通常使用20MB到100MB,具体取决于您所加载的模块。 除非你在这个范围的最高端,否则你可能会处理200或300个孩子。

更多的孩子意味着同时提出更多的请求,即使孩子们被绑在了Keepalive上。