`

修改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:等待所有分组死掉

分享到:
评论

相关推荐

    linux下tomcat优化设置最大连接数内存jconsole监控.docx

    ### Linux 下 Tomcat 优化设置最大连接数及内存 JConsole 监控 #### 一、Tomcat 内存优化 ##### 1.1 基本原理 在启动 Java 应用程序时,JVM(Java 虚拟机)会为应用程序分配一定的初始内存和最大内存。这些设置对...

    linux安装Apache,apache安装包,内含相关安装包

    - **性能优化**:可以通过调整配置参数,如最大连接数、超时设置等,提升Apache的性能。 在学习和使用Apache的过程中,官方文档(https://httpd.apache.org/docs/2.4/)是一个非常宝贵的资源,其中包含了详细的配置...

    linux系统下安装及监控apache

    监控Apache不仅可以帮助诊断问题,还有助于优化服务器性能,比如调整并发连接数、内存使用等。此外,还可以结合第三方工具如Nagios、Zabbix等进行更高级的监控和报警设置。 以上就是Linux系统下安装Apache的详细...

    Linux Apache服务器.doc

    5. `MaxKeepAliveRequests`:单个连接允许的最大请求数。 6. `KeepAliveTimeout`:两次连续请求之间的时间间隔,超时则断开连接。 7. `StartServers`、`MinSpareServers`和`MaxSpareServers`:控制Apache子进程的...

    Apache连接数

    总之,解决 Apache 在 Windows 环境下连接数不足的问题,主要是通过修改 `httpd.conf` 或 `httpd-mpm.conf` 文件中的 `ThreadsPerChild` 和 `MaxRequestsPerChild` 参数。同时,理解不同工作模式的特点和配置方法,...

    apache-linux-x64

    8. **性能优化**:通过调整Apache的配置,如预加载模块(`prefork`或`event`模型)、最大连接数、超时设置等,可以优化服务器性能。 9. **使用说明**:对于初学者,可以参考`使用说明.txt`了解更详细的安装和配置...

    Apache2 for Linux

    1. **调整MaxKeepAliveRequests**: 此设置控制每个连接允许的最大请求数,可提高并发处理能力。 2. **开启KeepAlive**: `KeepAlive On`允许浏览器在同一连接上发送多个请求,减少TCP连接的开销。 3. **调整Timeout...

    Linux下APACHE&PHP&MYSQL&CGI修改版

    需要注意的是,在实际部署时还需要根据具体的应用需求进行相应的优化和调整,例如调整Apache的连接数限制、优化MySQL的性能等。此外,安全性的考虑也不可忽视,例如启用SSL加密传输、定期更新软件版本以修复潜在的...

    201118003_Linux操作系统_课程设计报告_Linux下Apache性能分析.pdf

    - 并发连接数:测试服务器同时处理连接的能力。 - CPU和内存使用:监控系统资源消耗,优化服务器配置。 - 日志分析:通过日志文件分析访问模式和异常情况。 - 负载测试:使用工具如Apache JMeter或ab进行模拟高...

    掌握数据库生命线:深度配置MySQL的最大连接数

    在某些情况下,你可能还需要调整与最大连接数相关的其他系统变量,如`wait_timeout`和`interactive_timeout`,这些参数控制连接的超时时间: ```ini [mysqld] wait_timeout = 300 interactive_timeout = 300 ``` #...

    linux上apache源码安装

    - 资源管理:通过调整`MaxClients`等参数限制并发连接数,防止服务器过载。 6. **日志管理** Apache的日志文件默认位于`logs`目录下,包括访问日志(access_log)和错误日志(error_log),可以根据需要定制日志...

    Run Your Own Web Server Using Linux & Apache

    这包括调整Apache的配置参数,如MaxClients(最大并发连接数)、KeepAliveTimeout(保持连接超时时间)等,以及启用缓存机制如mod_expires和mod_deflate来提高页面加载速度。 最后,定期备份和维护是防止数据丢失的...

    Apache日志分析手册

    6. 查看进程和端口连接:手册中提到了使用ps和netstat命令来查看Apache进程和80端口的TCP连接数。这些命令有助于了解Apache服务的运行状态。 7. 分析日志中的异常行为:比如,通过过滤日志来查看特定IP地址在特定...

    配置APACHE服务器(linux-Apache).pdf

    这包括但不限于设置虚拟主机、调整并发连接数、启用或禁用特定模块、配置SSL加密等。 ### 7.4 访问控制、认证和授权 Apache提供了多种机制进行访问控制,如使用`.htaccess`文件进行目录级权限设定,实现基于IP地址...

    apache-tomcat-8.5.98 linux安装包

    1. **调整线程池**: 修改`server.xml`中的`Executor`元素,调整最大线程数、最小线程数和空闲超时时间。 2. **JVM参数**: 调整Java虚拟机(JVM)内存分配,避免垃圾回收导致的性能瓶颈。 **七、监控与日志** 1. **...

    linux+apache+tomcat+java配置文件.rar

    监控系统资源使用,优化配置以提高性能,如调整Apache和Tomcat的线程池大小,限制并发连接数。 7. 故障排查:了解如何查看日志文件,如Apache的`error.log`和Tomcat的`catalina.out`,以解决运行时问题。学会使用...

    apache-tomcat-8.0.30 linux 64位

    2. 修改`server.xml`中的连接器配置,如增大最大连接数(`maxConnections`),启用HTTP/2支持。 3. 配置`context.xml`以实现会话持久化和安全设置。 4. 使用`mod_proxy_ajp`或`mod_jk`与Apache HTTP Server集成,实现...

    Linux与Apache(httpd.conf )配置与管理图文教程 chm

    8. **性能优化**:可以通过调整MaxKeepAliveRequests(每个连接处理的最大请求数)、KeepAliveTimeout(空闲连接保持的时间)等参数来优化性能。 9. **安全配置**:应确保禁止目录浏览,限制敏感文件的访问,并启用...

    linux服务配置Apache

    - `MaxClients`:定义同时可以处理的最大客户端连接数,应根据服务器性能进行设置。 - `ServerAdmin`:定义管理员的电子邮件地址,用于发送服务器相关的警报和通知。 - `ServerName`:指定服务器的完全限定域名...

Global site tag (gtag.js) - Google Analytics