【问题标题】:IIS 6.0 Server Too Busy HTTP 503 Connection_Dropped DefaultAppPoolIIS 6.0 服务器太忙 HTTP 503 Connection_Dropped DefaultAppPool
【发布时间】:2010-03-18 15:16:23
【问题描述】:

我们有一个运行在带有 2 台 64 位机器的 windows 2003 集群上的站点。

网站需要能够处理超过 20,000 个并发用户

网站所做的其中一件事是允许下载一个 2MB 的文件(缓存在内存中)。

我们的 CPU 和内存使用率较低。我们还有多余的带宽。

由于用户下载文件所需的时间(某些用户的互联网连接速度较慢),我们的连接似乎已用完。

在 IIS 日志中,我们收到 HTTP 503 错误。

在 HTTPErr 日志中,我们主要得到 Connection_Dropped DefaultAppPool 和一些 Timer_EntityBody DefaultAppPool。

问题是:我们如何配置 IIS 以允许更多连接?还是我在这里遗漏了什么?

谢谢

设拉子

【问题讨论】:

    标签: performance http iis


    【解决方案1】:

    我们在所有高容量网站上运行此 reg 文件。

    Windows Registry Editor Version 5.00
    
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
    "EnablePMTUDiscovery"=dword:00000001
    "MaxUserPort"=dword:0000fffe
    "TCPTimedWaitDelay"=dword:0000003c
    "TCPMaxSendFree"=dword:0000ffff
    "SynAttackProtect"=dword:00000001 
    

    请注意,需要重新启动服务器才能进行这些更改。

    见:

    【讨论】:

      【解决方案2】:

      您很可能需要增加允许的端口数量(请参阅http://technet.microsoft.com/en-us/library/cc758002.aspx

      This guy 声称已经看到来自一台机器的 50K+ 并发连接。

      【讨论】:

        【解决方案3】:

        我不确定这是否适用于 IIS(尽管我不明白为什么不适用),但在 Linux 服务器上,我发现关闭 keep-alive 有助于限制并发连接数。

        再一次,这个可能不适用,但我也发现将所有静态内容卸载到另一个较小的服务器有助于保持简洁(并且会大大减少 IIS 正在处理的连接数和)。大多数人会使用 nginx 或 lighttpd。在新的子域中循环使用它们非常简单。

        【讨论】:

          【解决方案4】:

          您需要在 IIS 应用程序池中设置队列限制

          【讨论】:

            【解决方案5】:

            我认为您无法在任何一台机器上获得 20000 个并发连接 - 您可能需要考虑扩展到多个 Web 服务器。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-06-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-06-16
              • 2015-06-10
              • 2012-08-08
              • 2017-03-26
              相关资源
              最近更新 更多