apache 修改连接数(转)

1.先要修改最大连接数,必须了解Apache的MPM(Multi -Processing Modules,多道处理模块)
Apache2.0中MPM分为3种(perfork、worker、event)。perfork从Apache1.3中继承下来的,它采用的是进程管 理方式,所以它可以提供更可靠的性能和更好的兼容性;worker是Apache2.0中新增加的方式,它采用了线程控制方法,可以比perfork更节 约系统开销、处理更多的数据量,但同时兼容性并不是很好,很多旧的程序无法工作在worker下;event仍处于试验阶段,它为每个任务分配不同的进程 池。
查看方法:通过http -l查看你的apache采用的MPM

可以看到我的apache采用的就是prefork工作方法。
2.配置prefork参数
默认参数如下:
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
当Apache被启动时,Apache会自动创建StartServers个进程,并且尽力将空闲进程数保持在MinSpareServers和MaxSpareServers之间。
如果空闲进程小于MinSpareServers,Apache将会以大约每秒1个的速度新建进程。
如果空闲进程小于MaxSpareServers,Apache将会删除多余的空闲进程,释放服务器资源。
进程数的最大值由MaxClients控制,在Apache1.3中最大只能设置为256,但在Apache2.0中,可以通过在配置开头增加ServerLimit项目来突破256的限制,此时必须MaxClients ≤ ServerLimit ≤ 20000
MaxRequestsPerChild用来控制每个进程在处理了多少次请求之后自动销毁,这个参数可以设置为0表示无限(即不销毁进程)。
我个人的配置如下:
<IfModule prefork.c>
StartServers       10
MinSpareServers    10
MaxSpareServers   15
ServerLimit      4000
MaxClients       2056
MaxRequestsPerChild  10000
</IfModule>
重启Apache后生效
3.关于apache最大连接数设置
查看当前的连接数可以用:
ps aux | grep httpd | wc -l

或:
pgrep httpd|wc -l

计算httpd占用内存的平均数:
ps aux|grep -v grep|awk ‘/httpd/{sum+=$6;n++};END{print sum/n}’

静态页面,CPU消耗很低,每进程占用内存也不算多,大约200K。

假如服务器内存有2G,除去常规启动的服务大约需要500M(保守估计),还剩1.5G可用,那么理论上可以支持1.5*1024*1024*1024/200000 = 8053.06368

约8K个进程,支持2W人同时访问应该是没有问题的(能保证其中8K的人访问很快,其他的可能需要等待1、2秒才能连上,而一旦连上就会很流畅)

转载地址: http://www.phpddt.com/server/apache-MaxClients.html

时间: 2024-10-17 07:44:54

apache 修改连接数(转)的相关文章

Linux下配置Apache最大连接数

最近有博友发现我的博客经常http 503,博客负载不大,应该不会出现负载问题,很有可能就是Apache最大连接数原因,Apache默认支持150个连接.1.先要修改最大连接数,必须了解Apache的MPM(Multi -Processing Modules,多道处理模块)Apache2.0 中MPM分为3种(perfork.worker.event).perfork从Apache1.3中继承下来的,它采用的是进程管 理方式,所以它可以提供更可靠的性能和更好的兼容性:worker是Apache2

apache修改最大连接并用ab网站压力测试

httpd.conf的配置 426 # Server-pool management (MPM specific)427 Include conf/extra/httpd-mpm.conf [[email protected] /]# apachectl -lCompiled in modules:  core.c  prefork.c  http_core.c  mod_so.c [[email protected] /]# cat /alidata/server/httpd-2.2.27/c

使用SwingBench测试连接数以及修改连接数和pga

使用SwingBench工具对oracle环境进行压力测试,100个用户,就提示连接数不够: 后台日志报错: ? 1 2 3 4 5 Errors in file /oracle/admin/dbcc/bdump/dbcc_smon_3317.trc: ORA-00018: maximum number of sessions exceeded Thu May 29 09:14:50 2014 Adjusting the default value of parameter parallel_m

apache修改默认端口号

找到:apache>>config>>httpd.conf Ctrl+F 查找:Listen 80,把它改成#Listen 80,重起一行:输入Listen 8888,这样端口号就变成8888了. 不过有一个缺点:每次输入的时候都要localhost:8888,因为这不是默认端口. apache修改默认端口号,布布扣,bubuko.com

centos6.5 mysql5.6 修改连接数 或者MySQL 报错 too many connection

一.windows下 直接修改配置文件my.ini,然后重启MySQL服务. 二.Linux CentOS6.5下 1.登录mysql: <span style="white-space:pre"> </span>[[email protected] ~]# mysql -u root -p 2.查看当前连接数: <span style="white-space:pre"> </span>mysql> show

oracle数据库修改连接数

最近在用weblogic部署项目,同时用的是oracle数据库,然后今天遇到一个问题:多个用户连接数据库连接不成功,有时提示被锁住,经检查发现一方面weblogic控制台中数据源的连接池配置没有配置足够的容量,另一方面是oracle数据库没有配足够的连接数 1.weblogic控制台修改如下 2.通过cmd命令修改数据库连接数并重启数据库 C:\Users\Administrator>sqlplus sys/sys@192.168.13.211/oanet as sysdba SQL*Plus:

只针对apache修改ulimit参数

今天对公司服务器进行了优化,但主管了看了之后要求我不要全局修改open files参数,要求只修改apache的open files参数.也就是局部修改.   系统:centos 5.51.查看全局ulimit和apache ulimit参数上图我们可以看到全局ulimit中open files参数值是65535,现在来看apache的 1 for pid in `ps aux |grep httpd |grep -v grep|awk '{print $2}'` 2do   3 cat /pr

ORACLE如何查看修改连接数,进程数及用户数,三者之间关系

SQL> select count(*) from v$session #连接数SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数SQL> show parameter processes #最大连接 process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计

Oracle查看和修改连接数(进程/会话/并发等等)

查询数据库当前进程的连接数及会话的连接数.并发连接数以及会话情况等等,感兴趣的你可以参考下哈,希望可以帮助到你 1.查询数据库当前进程的连接数: 复制代码 代码如下: select count(*) from v$process; 2.查看数据库当前会话的连接数: 复制代码 代码如下: elect count(*) from v$session; 3.查看数据库的并发连接数: 复制代码 代码如下: select count(*) from v$session where status='ACTI