【发布时间】: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