windows系统修改apache的最大连接数,方法如下:
步骤一:先修改./apache/conf/httpd.conf文件。
# vi httpd.conf
将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。
保存。
步骤二:再修改./apache/conf/extra/httpd-mpm.conf文件。
# vi httpd-mpm.conf
找到
原:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
修改后
ServerLimit 1000
StartServers 10
MinSpareServers 5
MaxSpareServers 10
MaxClients 1000
MaxRequestsPerChild 0
修改后,一定不要apachectl restart,而是先 apachectl stop 然后再 apachectl start才可以。
ubuntu系统修改apache的最大连接数
首先需要确定服务器httpd的工作模式呢,可通过执行
可以看到有prefork.c,因此httpd是工作在prefork并发模式。
打开apache2的配置文件sudo vi /etc/apache2/apache2.conf
apache2的并发控制模式,包括prefork和worker的部分修改为:
注意,MaxClients默认最大为250,若要超过这个值就要显式设置ServerLimit,且ServerLimit要放在MaxClients之前,值要不小于MaxClients,不然重启时会有提示。重启apache2后,通过反复执行pgrep httpd|wc -l来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。
MaxRequestsPerChild不能设置为0,可能会因内存泄露导致服务器崩溃。
注意
不管是Worker模式或是Prefork 模式,Apache总是试图保持一些备用的(spare)或者是空闲的子进程(空闲的服务线程池)用于迎接即将到来的请求。这样客户端就不需要在得到服务前等候子进程的产生。