增大apache2的连接数

1159阅读 0评论2010-03-23 freyson
分类:LINUX

Apache2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。


首先要做的是确认apache的工作模式 prefork?还是其他的,一般默认的就是prefork,如果不确定,有一个简单的办法可以测试出来。

修改每种工作模式的startserver值(不重复),然后重起apache,执行ps aux | grep http看看有几个apache进程,就能知道对应的那种工作模式。


有两处是需要密切注意的:

1。ServerLimit 2000 这一行要放在段的最上面 

2。必须要stop然后再start才能生效。restart是无效的。


下面是我的prefork配置段。 



ServerLimit 2000 

StartServers 10 

MinSpareServers 10 

MaxSpareServers 15 

MaxClients 1500 

MaxRequestsPerChild 10000 



ServerLimit的最大值是20000,这对于大多数站点一级绝大多数服务器来说是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的  


#define DEFAULT_SERVER_LIMIT 256 

#define MAX_SERVER_LIMIT 20000 


这两行就对应着MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并发连接数。 

#注:在apache2.2中,连接数要要在安装初始的时候要更改的。

上一篇:如何在三个月掌握别人三年的经验
下一篇:mac和linux使用