【问题标题】:ASP.NET App Core Slower Under IIS Compared to Kestrel与 Kestrel 相比,IIS 下的 ASP.NET App Core 速度较慢
【发布时间】:2020-04-18 21:51:47
【问题描述】:

我正在对 ASP.NET Core 3.1 进行一些性能测试。我创建了一个虚拟网络应用程序,它只返回一个静态分配的结构,如下所示:

[Route("api/[controller]")]
[ApiController]
public class DummyController : ControllerBase
{ 
    private static State _state = new State();
    public State Get()
    {
        return _state;
    }
}

在 IIS 下运行时,此应用支持的请求/秒是它在 Kestrel 下可以实现的一半。在 IIS 下,它无法耗尽 CPU 容量,而在 Kestrel 中,它会最大化所有内核。有谁知道这可能的常见原因?我用谷歌搜索了它,发现人们报告了相反的问题(即在 Kestrel 下速度较慢),但不是这个。

我正在 IIS 下运行应用程序 InProcess。 IIS版本为10,操作系统为Windows 10 1903。机器有16个内核和32个逻辑进程。我正在通过环回使用bombardier 进行测试(即,bombardier 与应用程序在同一台机器上运行)。

【问题讨论】:

    标签: performance asp.net-core iis kestrel


    【解决方案1】:

    问题是由于我在 Windows 10 上运行该应用程序造成的。当我将应用程序移至 Windows Server 2016 后,它就消失了,IIS 的性能开始与 Kestrel 的性能相匹配。

    【讨论】:

      猜你喜欢
      • 2018-07-01
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2020-11-07
      相关资源
      最近更新 更多