zoukankan      html  css  js  c++  java
  • Apache优化:修改最大并发连接数

    一般情况下,默认apache配置文件不可用于生产环境,需要自己根据实际情况调整参数编译最佳状态。

    Apache的核心模块叫做多路模块处理(Multi-Processing Mudule,简称MPM)
    各个系统有不同的模块,windows使用mpm_winnt,linux用mpm_prefork或mpm_worker。
    当编译时没有指定mpm模块是,windows默认用mpm_winnt,linux默认用mpm_perfork。


    1.查看apache使用的何种模块使用命令:

    $ httpd -l

    mpm的配置文件在apache安装目录/conf/extra/httpd-mpm.conf。
    默认apache没有启用mpm,httpd.conf需添加“Include conf/extra/httpd-mpm.conf”。

    mpm_winnt:单进程多线程。
    mpm_perfork:多进程。
    mpm_worker:多进程多线程。

    MPM调优(修改conf/extra/httpd-mpm.conf):

    <IfModule mpm_winnt_module>
    #每个子进程的最大并发线程数
    ThreadPerChild    150 #推荐配置:小型网站=1000 中型网站=1000~2000 大型网站=2000~3000
    #每个子进程允许处理的请求数。累计处理请求数超过该值,该子进程会结束(然后根据需要确定是否创建新的子进程。0表示无限制,设置非零防止内存无限泄漏,同时给进程一个寿命,当服务器负载减轻时活动的进程数减少。
    MaxRequestPerChild 0 #推荐配置: 小=10000 中或大=20000~100000
    </IfModule>
    
    <IfModule mpm_perfork_module>
    #启动apache时创建的子进程数
    StartServers    5 # 小=默认 中=20~50 大=50~100
    #空闲状态最小子进程数
    MinSpareServers    5 # 与StartServers保持一致
    #空闲状态最大子进程数
    MaxSpareServers    10 # 小=20 中=30~80 大=80~120
    #允许同时连接的最大子进程数
    MaxClients    150 # 小=500 中=500~1500 大=1500~3000
    MaxRequestsPerChild 0 # 小=10000 中或大=10000~500000
    (此外还需要设置ServerLimit,最好于MaxClients保持一致)
    </IfModule>
    
    <IfModule mpm_worker_module>
    StartServers    2 #小=默认 中=3~5 大=5~10
    MaxClients    150 #小=500 中=500~1500 大=1500~3000
    #空闲状态最小线程数
    MinSpareThreads    25 #小=默认 中=50~100 大=100~200
    #空闲状态最大线程数
    MaxSpareThreads    75 #小=默认 中=80~160 大=200~400
    ThreadsPerChild    25 #小=默认 中=50~100 大=100~200
    MaxRequestsPerChild 0 #小=10000 中或大=10000~500000
    (此外如果MaxChilds/ThreadsPerChild大于16,ServerLimit必须大于它们的值)
    </IfModule>

    ServerLimit表示apache允许创建的最大进程数,apache编译时内部一个硬限制ServerLimit 20000(mpm_perfork为ServerLimit 200000),如果它设置太高,会有过多的共享内存被分配,如果超过了系统能处理的能力,apache可能无法启动,会系统变得不稳定。

  • 相关阅读:
    对于dll(动态链接库)的理解
    Java中异常发生时代码执行流程
    使用Gitea搭建git服务
    python-grpc
    Docker环境变量设置
    pandas操作excel
    docker笔记
    flask笔记
    索引原理
    视图、触发器、事务、存储过程
  • 原文地址:https://www.cnblogs.com/liuxuzzz/p/5346700.html
Copyright © 2011-2022 走看看