zoukankan      html  css  js  c++  java
  • windows下修改apache并发数

    还没有尝试

    修改apache的最大连接数,方法如下:

    步骤一
    先修改 /path/apache/conf/httpd.conf文件。
    # vi httpd.conf
    将“#Include conf/extra/httpd-mpm.conf”前面的 “#” 去掉,保存。

    步骤二
    再修改 /path/apache/conf/extra/httpd-mpm.conf文件。
    # vi httpd-mpm.conf
    找到 这一行

    原:

    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxClients 150
    MaxRequestsPerChild 0

    修改后

    ServerLimit 1000 #最大并发
    StartServers 10 #默认启动线程数
    MinSpareServers 5
    MaxSpareServers 15
    MaxClients 1000 #apache可以同时处理的请求
    ThreadsPerChild 250 #每个进程的线程数,子进程在启动时建立这些线程后就不再建立新的线程了。 默认值是64, 最大值是1920
    MaxRequestsPerChild 5000 #默认0 官方参考手册中不建议设置为0, 主要基于两点考虑: (1) 可以防止(偶然的)内存泄漏无限进行,从而耗尽内存; (2) 给进程一个有限寿命, #从而有助于当服务器负载减轻的时候减少活动进程的数量。



    注意:
    ServerLimit 该指令一定要放在第一行。

    修改后,一定不要apachectl restart,而是先 apachectl stop 然后再 apachectl start才可以。

    ---------------------------------------------------------------------------------------------------------------------------------------

    如果你按照上面做的话,你会发现好像没什么效果(至少我是这样),因为win2003下 并不是使用mpm_prefork_module ,而是mpm_winnt_module ,ServerLimit 1000在是mpm_winnt_module下是无效的,找了一个下午没有找到增大window下apahce并发数的方法,猜测可能和最大并发数也就 是服务器的最大连接数?

    2011-8-27

    今天又琢磨了一下,还是修改 conf/extra/httpd-mpm.conf 文件,既然windows下是用 mpm_winnt_module ,那就修改这个试一试

    我的默认是

    <IfModule mpm_winnt_module>
        ThreadsPerChild      150
        MaxRequestsPerChild    0
    </IfModule>

    ab测试并发大概在250左右时就不行了。

    尝试修改

    ThreadsPerChild      250
    MaxRequestsPerChild    5000

    ab测试大概在 300多不行,修改 ThreadsPerChild  还是有效果的

    好像最大并发数大概是 ThreadsPerChild 的1.5倍(瞎猜的,你试试)

  • 相关阅读:
    《精通.NET互操作1.2》C# PInvoke使用c++dll
    WPF的dataGrid基本用法
    C#中$的用法
    ASP.NET WebApi 实现Token验证
    Ajax请求WebAPI传递多参数的方法
    ajax调用ASP.NET MVC控制器传递参数
    js子窗口调用父窗口函数并传递对象给父窗口的方法
    H5本地存储和本地数据库
    非对称加密RSA的C#实现
    在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/3840356.html
Copyright © 2011-2022 走看看