zoukankan      html  css  js  c++  java
  • Windows Server 2008 + IIS 7+ ASP.NET 并发优化

    Windows Server 2008 + IIS 7+ ASP.NET 并发优化

    站点出现这样的错误信息:

    Error Summary:
    
    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded. 
    
    Detailed Error Information:
    
    Module IIS Web Core 
    Notification BeginRequest 
    Handler StaticFile 
    
    Error Code 0x00000000
    

    由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误。

    为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支持更多并发请求。

    具体设置如下:

    1. 调整IIS 7应用程序池队列长度 和 最大工作进程数

    由原来的默认1000改为10000。
    
    IIS Manager > 应用程序池 > 右键:高级设置
    
    队列长度 : 10000
    

    iis最大工作进程数:

    最大工作进程数的设置方法:(拷贝)按照每工作进程能承载30个并发的原则来确定应用程序池的最大工作进程数。同时要注意,每个工作进程大约会占用200M左右的系统内存,在设置最大工作进程数的时候,要主要最大工作进程数与200M的乘积不要超过系统最大可用内存数。一般情况下,建议按照每次增加5个工作进程数的方式对最大工作进程数进行调整,调整完后对网站观察一段时间,如依然无法满足要求,再继续增加5个工作进程数。
    
    最大工作进程数: 从1调整到5(1个工作进程大概占用200M系统内存)
    

    2. 调整IIS 7的appConcurrentRequestLimit设置

    由原来的默认5000改为100000。
    
    c:windowssystem32inetsrvappcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
    
    在%systemroot%System32inetsrvconfigapplicationHost.config中可以查看到该设置:
    
    <serverRuntime appConcurrentRequestLimit="100000" /> 
    

    3. 调整machine.config中的processModel>requestQueueLimit的设置

    由原来的默认5000改为100000。

    <configuration>
        <system.web>
            <processModel enable="true" requestQueueLimit="100000"/>
    

    参考文章:http://technet.microsoft.com/en-us/library/dd425294(office.13).aspx

    4. 修改注册表,调整IIS 7支持的同时TCPIP连接数

    由原来的默认5000改为100000。

    reg add HKLMSystemCurrentControlSetServicesHTTPParameters /v MaxConnections /t REG_DWORD /d 100000 
    

    5. 运行命令使用设置生效

    net stop http  & net start  http & iisreset 
    

    完成上述4个设置,就可以支持更多的并发请求。

    参考文章:

    https://blog.csdn.net/qq_34515910/article/details/83107968
    https://www.cnblogs.com/hgamezoom/p/3082538.html
    https://blog.csdn.net/foreveryangting/article/details/80433345
    https://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html
    
  • 相关阅读:
    过滤非GBK字符
    打印整数数字
    std::string 方法列表
    设计模式——单例模式(Singleton )
    编程之美二进制一的个数
    Jsoncpp试用指南
    GCC下宏扩展后的++i
    关于字节对齐的sizeof的讨论
    Notepad++ 更改和定制主题
    求子数组的最大和
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/11935158.html
Copyright © 2011-2022 走看看