【问题标题】:Windows temporarily shuts down my TCP stack when I stress test my HTTP server当我对 HTTP 服务器进行压力测试时,Windows 会暂时关闭我的 TCP 堆栈
【发布时间】:2011-06-09 19:15:08
【问题描述】:

我正在为使用 IO 完成端口 (IOCP) 的 Windows 构建 HTTP 服务器。我有一个压力测试应用程序,它通过 HTTP 请求不断地访问服务器。几秒钟后(变化的、不可预测的时间间隔),我的机器无法打开任何新的 TCP 连接。我知道这一点是因为我的浏览器无法打开任何新连接,服务器只是等待 AcceptEx 调用完成。如果我让压力过程冷静下来,那么几秒钟后一切都会恢复生机。我不认为这是一个积压问题,因为压力源是同步的——它在发出下一个请求之前等待结果。压力器确实并行运行了几个(称为 N 个)线程,但这不会导致 N 个(小型 HTTP)请求的积压。

我使用的是 Windows 7 专业版。周一将在 Windows Server 操作系统上进行测试。是什么导致了这种行为?

【问题讨论】:

    标签: windows tcp connection limit


    【解决方案1】:

    您是否因为大量 TCP 端口处于 TIMED_WAIT 状态而用尽了 TCP 端口?

    【讨论】:

    • 谢谢 - 我不知道 TCP 会这样做
    【解决方案2】:

    Google Windows 临时端口。

    【讨论】:

    • 谢谢 - 我不知道这个
    猜你喜欢
    • 2012-12-19
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    相关资源
    最近更新 更多