Asp.Net核心(Full .Net框架)与Asp.Net核心(.Net Core)性能

Asp.Net core (Full .Net framework) vs Asp.Net core (.Net Core) Performance

我发现与传统的ASP.NET相比,ASP.NET核心的一个关键好处是多方面的性能改进(每秒请求数)。我发现许多基准站点都在谈论ASP.NET核心性能,但我不确定该性能是基于带有.NET核心框架的ASP.NET核心,还是同样的性能优势适用于ASP.NET核心(完整.NET框架)。

有什么想法/文章可以解释/比较ASP.NET核心(.NET核心)与ASP.NET(完整框架)之间的性能吗?

谢谢


我最近使用ASP.NET核心2.0进行开发,除了它出色的跨平台支持之外,我还有一个关于性能改进的问题。从谷歌搜索结果来看,有很多比较,简要的想法是:

ASP.NET核心2.0比ASP.NET 4.6快约6x-23x

这是两个参考资料

https://www.ageofacent.com/2016/02/18/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/https://github.com/aspnet/基准


ASP.NET核心2.0比ASP.NET 4.6和ASP.NET 4.7框架快了近2倍。

当比较完整的.NET框架与.NET核心的性能时,ASP.NET核心胜出,但是.NET框架也有一些优势,因为一些预构建的功能可以与ASP.NET框架一起使用。

但就速度而言,ASP.NET核心(.NET核心)甚至可以从node.js中获胜。


我们正在检查ASP.NET Core 2.0的性能,并发现:

使用ASP.NET核心模块在IIS下托管/运行的ASP.NET核心应用程序性能在60%左右是最差的,然后是全帧工作。第二种情况:自托管的应用程序和使用IIS作为反向代理的URL重写模块将性能提高20%左右,比完整的FW好。FW4.61.

另一个对性能有重大影响的方面是日志记录。确保被测试的应用程序不会将调试/信息日志写入控制台(默认情况下)。测试中的日志配置不应记录信息和调试。

我们处理的第二个问题是:使用WCF服务时ASP.NET核心性能问题。我们发现,在当前版本2.0.5中,性能与ASP.NET固件相比下降了大约70%,更重要的是,所有测试的错误率都很大(23%)。

这里的问题在于港口枯竭。微软建议增加临时港口的数量。增加临时端口的数量,提高了错误率,但没有解决问题。我们的测试设置:带有返回某些字符串的Web API控制器的ASP.NET Core2.0和ASP.NET FW应用程序负载测试:从每30秒增加5个用户开始。测试运行8分钟

阅读ASP.NET Core 2.1路线图。我认为微软知道这些问题,他们将在2.1版本中解决主要问题。我们在等着呢。