mad*_*ree 18 iis performance kestrel-http-server
与Kestrel http服务器相比,IIS的性能如何?
似乎Kestrel受到异步和事件驱动的服务器框架系列的启发.与此同时,IIS具有悠久的开发历史,并且在功能方面显然更加成熟.综合考虑所有这些因素,我特意寻找内存利用率,线程利用率,请求相关比较(如每秒请求数)和流功能的比较.
我为我当前的项目做了很多基准测试,在 IIS 和 Kestrel 上托管了 .net core 1.0 和 2.0 应用程序。测试是真实世界的 rest-api CRUD,具有身份验证/授权、日志记录、指标、速率限制等。此外,.net 核心应用程序完全由 MS 书籍完成,符合推荐的 1.0/2.0 标准。
使用相同的硬件设置,在 IIS 后面的托管持续每秒处理大约 40% 的请求。我仍然找不到能够解释性能差异的文章或顾问。
我还试图从核心基准测试权威https://github.com/aspnet/benchmarks 中找到任何类型的优化技巧,通过翻找设置和服务初始值设定项,但 IIS 仍然更快。
任何指针?
截至 2016 年 11 月,直接来自ASP.NET 基准测试。
在 Windows Server 2012 上,管道深度为 16:
stack on RT requests/sec
ASP.NET 4.6 IIS CLR 57,792
ASP.NET 5 Kestrel CoreCLR 1,188,521
Run Code Online (Sandbox Code Playgroud)
这是 20 倍或 2000% 的加速。我了解完整的 IIS 与独立的 Kestrel,但我确实希望 ASP.NET 团队中的某个人可以深入研究这一点,因为差异是巨大的。
这也是为什么它在 Linux 上慢得多的原因。
| 归档时间: |
|
| 查看次数: |
18787 次 |
| 最近记录: |