IIS与Kestrel性能比较

问题描述 投票:17回答:4

与Kestrel http服务器相比,IIS的性能如何?

似乎Kestrel受到异步和事件驱动的服务器框架系列的启发。与此同时,IIS具有悠久的开发历史,并且在功能方面显然更加成熟。考虑到所有这些因素,我特意寻找内存利用率,线程利用率,请求相关比较(如每秒请求数)和流功能的比较。

performance iis kestrel-http-server
4个回答
13
投票

这是来自GitHub仓库的XSLX file,您可以在其中查看您正在寻找的性能比较。

在Excel上打开文件,然后选中“最新”选项卡。 enter image description here


4
投票

我为我当前的项目做了很多基准测试,在IIS和Kestrel上托管.net核心1.0和2.0应用程序。测试是真实的rest-api CRUD,包括身份验证/授权,日志记录,指标,速率限制等。此外,.net核心应用程序完全由MS书籍完成,符合推荐的1.0 / 2.0标准。

使用相同的硬件设置,IIS后面的托管服务每秒可以提供大约40%的请求。我仍然无法找到能够解释性能差异的文章或顾问。

我还试图从核心基准测试机构https://github.com/aspnet/benchmarks找到任何类型的优化技巧,通过浏览设置和服务初始化程序,但仍然,IIS只是更快。

有什么指针吗?


2
投票

截至2016年11月,直接来自ASP.NET benchmarks

在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       

这是20倍或2000%的加速。我理解一个完整的IIS vs standalong Kestrel,但我希望ASP.NET团队中的某个人可以深入研究这个,因为差异是巨大的。

这就是为什么它在Linux上的速度要慢得多。

benchmark results


0
投票

以下是asp.net团队的一些初步的Kestrel基准测试。虽然不像你想要的那样详尽,但你会发现他们发布了一些关于RPS的信息。我相信随着他们越来越接近发布,会有更多。您可以通过简单的谷歌搜索在互联网上找到IIS基准测试:

https://github.com/aspnet/benchmarks

© www.soinside.com 2019 - 2024. All rights reserved.