zoukankan      html  css  js  c++  java
  • Apache下Worker模式MPM参数分析

    我的worker.c配置如下:
    <IfModule mpm_worker_module>
    ServerLimit        32
    ThreadLimit       128
    StartServers       5
    MaxClients        2048
    MinSpareThreads      150
    MaxSpareThreads     500
    ThreadsPerChild      64
    MaxRequestsPerChild    2048
    </IfModule>

    \大家自己根据机子的配置设定,同时记住公式,不然启动APACHE会报错
    注意
    对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。
    ThreadLimit >= ThreadsPerChild
    MaxClients <= ServerLimit * ThreadsPerChild 必须是ThreadsPerChild的倍数 (2048 <= 32*64)
    MaxSpareThreads >= MinSpareThreads+ThreadsPerChild (500 >= 150+64)

    ServerLimit 16
    //服务器允许配置的进程数上限。这个指令和ThreadLimit结合使用设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
    ThreadLimit 64
    //每个子进程可配置的线程数上限。这个指令设置了每个子进程可配置的线程数ThreadsPerChild上限。任何在重启期间对这个指令的改变都将被忽略,但对ThreadsPerChild的修改却会生效。默认值是”64″.
    StartServers 3
    //服务器启动时建立的子进程数,默认值是”3″。
    MinSpareThreads 75
    //最小空闲线程数,默认值是”75″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。
    MaxSpareThreads 250
    //设置最大空闲线程数。默认值是”250″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线 程。MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和
    MaxClients 400
    //允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值是”400″ ,16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加 ServerLimit的值。
    ThreadsPerChild 25
    //每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。
    MaxRequestsPerChild 0
    //设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为”0″,子进程将永远不会结束。
    将MaxRequestsPerChild设置成非零值有两个好处:
    1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
    2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

  • 相关阅读:
    Leo程序员羊皮卷文摘(更新ing)
    ubuntu下的yuv播放器
    浏览器之一
    海量数据处理常用思路和方法(zh)
    我本将心向明月,奈何明月照沟渠
    转载光纤通信之父
    重装系统或是更换电脑之后,Foxmail的恢复
    关于录制Linux视频
    Linux之路(原发表于07年,现在搬到博客)
    Gentoo安装 miniCD+stage3
  • 原文地址:https://www.cnblogs.com/fjping0606/p/4759890.html
Copyright © 2011-2022 走看看