【问题标题】:HttpHandler low concurrent request processingHttpHandler 低并发请求处理
【发布时间】:2014-01-16 20:54:31
【问题描述】:

我有一个简单的 .NET 4.5 HttpHandler,它似乎无法扩展到超过 10 个并发请求。我期待一个更高的数字。处理程序只是休眠一秒钟并返回一个简单的字符串。

concurrent requests   requests/minute
1                     60
8                     480
9                     540
10                    600
11                    600
12                    600
15                    600
32                    600
512                   600

我有一台 64 位 Win7 机器,配备 4 核 i7、32GB 内存和 SSD,在所有测试期间机器处于空闲状态。 IIS 是开箱即用的配置。我还尝试使用由 Codeplex 的 IISTuner 创建的应用程序池运行它,但结果没有变化。

在真/假之间改变 IsReusable 没有任何作用。

我在 web.config 中添加了一个条目来禁用会话状态。我正在使用 SoapUI 进行测试,并在每个请求标志设置后关闭连接(并且可以在 http 标头中看到这一点)。同样,似乎没有任何改变。

修改每个应用程序池的进程数确实会增加数量,但仍然无法达到我预期的吞吐量(成百上千的并发请求)。

这里是处理程序:

class TestHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        Thread.Sleep(1000);
        context.Response.Write("I slept for 1s");
    }

    public bool IsReusable { get { return true; } }
}

这里是相关的 web.config 文件:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <sessionState mode="Off" timeout ="20" cookieless="false"></sessionState>
  </system.web>

  <system.webServer>
    <handlers>
      <add name="Proposal01_Test" verb="*"
        path="*.test"
        type="Proposal01.TestHandler, Proposal01"
        resourceType="Unspecified" />
    </handlers>
  </system.webServer>

</configuration>

我错过了什么?

【问题讨论】:

  • 你能在服务器上试试吗?各种版本的 Windows 客户端风格强加了各种任意连接限制。
  • (事实上,快速的谷歌搜索确认了 Windows 7 上的 IIS 7.5 限制为 10 个并发请求)
  • @Damien - 这确实是问题所在;将其移动到 Win2k8 虚拟机上可以扩展超过 10 个并发请求。谢谢!可悲的是,VM 似乎无法扩展到超过 20-30 个请求,但吞吐量确实在不断上升,所以我们没有遇到这样的问题 - 但这是另一篇文章......

标签: concurrency iis-7.5 httphandler


【解决方案1】:

问题就像@Damien 所说的那样——再次感谢你——这是 Win7/IIS7.5 中的非服务器操作系统限制,我从来没有意识到这一点,因为我们已经在同一台机器上安装了 Java 服务。数千个并发请求领域。是的,女士。

【讨论】:

    猜你喜欢
    • 2011-06-18
    • 2016-10-28
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2021-05-01
    相关资源
    最近更新 更多