【发布时间】:2018-10-09 19:20:20
【问题描述】:
在各种技术博客/网站上都指出,使用 asp.net 内核引入的新 Web 服务器 kestrel 比 IIS 具有性能优势,因为它使用基于单线程事件循环模型的 libuv 库。
如果我在 C# 中对 I/O 任务使用异步等待并使用 IIS 而不是 Kestrel,我无法理解这有何不同。由于异步等待也是一个非阻塞调用,所以我无法理解吞吐量/性能优势。
请有人用简单的话详细说明一下。
我知道 kestrel 是跨平台的,但我的查询是围绕我应该使用 kestrel 获得的性能/吞吐量优势,所以如果我只针对 Windows,让我重新表述我的问题,使用 kestrel 与 IIS 是否可以获得任何性能优势.我浏览过的大多数链接都表明 Kestrel 使用 libuv,因此它提供了一些性能优势,但没有详细说明它的不同之处,这使得它更快。如果我不使用任何 IIS 模块,那么性能是否具有可比性
【问题讨论】:
-
@WiktorZychla 哇,这个帖子太棒了
标签: c# task-parallel-library libuv kestrel