`

修改Linux下Apache的最大连接数

 
阅读更多

 Apache的最大连接数,默认为256个。
    修改apache的最大连接数,方法如下:
   
   一:先修改./apache/conf/httpd.conf文件。
        # vi httpd.conf
        将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。
        保存。
   
    二:再修改./apache/conf/extra/httpd-mpm.conf文件。
        # vi httpd-mpm.conf
       找到<IfModule mpm_prefork_module> 这一行
          原:
             <IfModule mpm_prefork_module>
              StartServers         5
              MinSpareServers      5
              MaxSpareServers      10
              MaxClients           150
              MaxRequestsPerChild  0
           </IfModule>
        修改后
            <IfModule mpm_prefork_module>
              StartServers         5
              MinSpareServers      5
              MaxSpareServers      10
              ServerLimit          1500
              MaxClients           1000
              MaxRequestsPerChild  0
         
    注意:1、一定要加ServerLimit,并且要在MaxClients前面,且数值要比MaxClient的值大;
          2、重启apache,仅仅/bin/apachectl restart无效,
             需要先apachectl stop 然后再apachectl start
 
 
对apache中并发控制参数prefork理解和调优
一个apache有linux下的并发不是很高的,大约到3K的样子,普通的服务器都会不同程度的出现问题.apache有关并发控制主要是 prefork和worker二个其中一个来控制.我们可以使用httpd -l来确定当前使用的MPM是prefork.c,还是Worker.c.下面是apache中有关prefork的配置.下面是优化过的参数.
<IfModule prefork.c>
#有这个参数就不必像apache1一样修改源码才能修改256客户数的限制,听讲要放到最前面才会生效,2000是这个参数的最大值
ServerLimit 2000
#指定服务器启动时建立的子进程数量,prefork默认为5。
StartServers 25
#指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。此参数不要设的太大。
MinSpareServers 25
#设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。此参数不要设的太大。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成"MinSpareServers+1"。
MaxSpareServers 50
#限定同一时间客户端最大接入请求的数量(单个进程并发线程数),默认为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit 。
MaxClients 2000
#每个子进程在其生存期内允许伺服的最大请求数量,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。
MaxRequestsPerChild 10000
</IfModule>
将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
工作方式:
一个单独的控制进程(父进程)负责产生子进程,这些子进程用于监听请求并作出应答。Apache总是试图保持一些备用的 (spare)或者是空闲的子进程用于迎接即将到来的请求。这样客户端就不需要在得到服务前等候子进程的产生。在Unix系统中,父进程通常以root身份运行以便邦定80端口,而 Apache产生的子进程通常以一个低特权的用户运行。User和Group指令用于设置子进程的低特权用户。运行子进程的用户必须要对它所服务的内容有读取的权限,但是对服务内容之外的其他资源必须拥有尽可能少的权限。
我们调优常常要查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
#ps -ef | grep httpd | wc -l
出现的结果,就是当前Apache能够处理的多少个并发请求,这个值Apache根据负载情况自动调.
查看Apache的并发请求数及其TCP连接状态:
 
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放 处理完毕,等待超时结束
LAST_ACK:等待所有分组死掉

分享到:
评论

相关推荐

    apache反向代理

    3. 更改源代码使最大允许的请求连接数超过256 由于Apache默认允许的最多连接数为256,而在一个繁忙的网站上这一连接数量也许不能满足需要,特别是本文介绍的通过防火墙上的Apache反向代理允许外部用户访问多个内部...

    Linux下查看进程打开的文件句柄数和如何修改方法

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象...

    企业级Linux服务攻略

    12.2.5 限制最大连接数 12.2.6 Telnet服务的启动与停止 12.2.7 防火墙设置 12.2.8 更改Telnet端口号 12.2.9 Linux客户端 12.2.10 Windows客户端 12.3 SSH服务 12.3.1 SSH概述 12.3.2 安装OpenSSH 12.3.3 SSH的启动...

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...

    Linux操作系统基础教程

    一.Linux下的网络服务.......................................................................................................24 二.几种重要的配置文件......................................................

    Linux FTP服务搭建

    max_per_ip=10 每个IP最大连接数为10 pam_service_name=vsftpd.pam PAM配置文件名,这里是vsftpd.pam user_sub_token=$USER local_root=/var/ftp/virtual/$USER 指定每个虚拟用户账号配置目录 local_root=/var/ftp ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 ----------------------------------------------------...

    Linux指令一周通 (技术图书大系).azw3

    1.28 ftpcount指令:显示ftp登录用户数 1.29 ftpshut指令:定时关闭ftp服务器 1.30 ftpwho指令:显示登录ftp用户信息 1.31 gunzip指令:解压缩文件 1.32 gzexe指令:压缩可执行文件 1.33 gzip指令:压缩文件 1.34 ...

    Linux命令笔记

    4:more 分页显示文件内容(只能往下翻页,不能往上反) 语法:more[文件名] 5:less 分页显示文件内容(上下翻页) 语法:less[文件名] 6:head 显示文件前面几行 语法:head[文件名] 7:tail 显示文件后面几行 语法:tail...

    Demila数字内容交易系统 v1.0.zip

    Linux Apache(或Nginx) MySQL PHP。 Apache和Nginx必须支持Rewrite。 PHP必须支持Short Tag。 邮件服务是必须的。   安装: 将下载的压缩包解压。 将UPLOAD目录中(不包含UPLOAD目录本身)的所有文件夹及文件...

    新千月完美运营开源版+创城影视.zip

    服务器推荐linux系统apache 和 nginx引擎都可以(建议开启伪静态) 1、替换全部文件(前端+后端+数据库)域名:vip.ccwlpe.cn为你自己的域名 2、替换全部文件(前端+后端+数据库)APP名称:创诚影视为你自己的APP...

    JMeter操作手册大全.docx

    并发用户数指在同一时刻内,打开系统并进行业务操作的用户数量,并发用户数对于长连接(数据库连接时长连接,web请求时短连接)系统来说最大并发用户数即是系统的并发接入能力。对于短连接系统而言最大并发用户数并不...

    PHP程序开发范例宝典III

    实例009 Linux下安装与配置Apache 2.x 15 实例010 Linux下PHP的安装配置 16 实例011 Linux下MySQL的安装配置 18 实例012 启用Red Hat Linux 9自带的PHP运行环境 19 实例013 Linux下实现PHP支持Socket 20 ...

    api对接主机控制面板源码虚拟主机云服务器域名IDC加盟网站源码程序模板PHP代理管理系

    修改根目录下“.htaccess.idc”文件名为:“.htaccess” 3、 访问您的域名进行首次安装 4、 填写数据库信息(为了您服务器安全,请不要使用root账号) 建立数据库并下一步 5、 配置代理平台API连接信息 1...

    伯乐个人发卡源码.tar.gz

    修改根目录下“.htaccess.idc”文件名为:“.htaccess” 3、 访问您的域名进行首次安装 4、 填写数据库信息(为了您服务器安全,请不要使用root账号) 建立数据库并下一步 5、 配置代理平台API连接信息 1...

    Nginx+Tomcat负载均衡

    #允许最大连接数 worker_connections 2048; } http { include mime.types; default_type application/octet-stream; #定义日志格式 #log_format main '$remote_addr - $remote_user [$time_local] $request...

    Ubuntu权威指南(2/2)

    2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 42 2.5.2 系统管理 45 2.5.3 锁住屏幕 51 2.5.4 注销 51 2.5.5 关机 51 2.6 使用移动存储设备 51 2.6.1 浏览移动存储...

    Ubuntu权威指南(1/2)

    2.4.7 连接到服务器 41 2.4.8 搜索文件 41 2.4.9 最近的文档 42 2.5 系统菜单 42 2.5.1 首选项 42 2.5.2 系统管理 45 2.5.3 锁住屏幕 51 2.5.4 注销 51 2.5.5 关机 51 2.6 使用移动存储设备 51 2.6.1 浏览移动存储...

    EPOLL模型详解

    这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方案),不过虽然linux上面创建进程的代价比较小,但仍旧是不可忽视的,...

Global site tag (gtag.js) - Google Analytics