为什么我们使用 InProcess 模式速度更快,但 DotNet Core 中的 Kestrel 诞生了?
Why Kestrel in DotNet Core was born even though we have more speed with InProcess mode?
我读了 Rick Strahl 写的这篇精彩的 article。它说微软在 DotNet 核心 2.2 决定添加 InProcess
模式直接使用 IIS 来处理请求,而不是使用 OutOfProcess
处理使用 Kestrel Web 服务器的过程。我们知道在这种模式下,IIS 被用作反向网络服务器代理来获取请求并将其带到 kestrel。
<!-- hostingModel is the new property here -->
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
hostingModel="InProcess" />
然后 Rick Strahl 在他的文章中比较了 InProcess 模式和 OutOfProcess 模式,得到的结果是在没有 Kestrel(InProcess 模式)的情况下直接使用 IIS 需要更快的过程。 (甚至他也证明 IIS 使用原始 kestrel 的速度更快)
有了这个结果,我想知道为什么我们还有 Kestrel?只是为了在其他反向 Web 服务器(如 Apache Nginx 和...)之前使用我们的 DotNet 核心应用程序?或者还有其他一些使用 OutOfProcess 会有用的场景?我简单地说为什么我们应该同时使用 (IIS + Kestrel)
IIS 是唯一可以直接托管 .NET 的服务器(正在处理中)。但是所有不是 IIS 的跨平台服务器呢?
如果我是运行Linux(老实说,most of the cloud is, even Microsoft),我用什么?
这就是为什么我们需要独立的东西,例如 Kestrel。
此外,在最近的版本中,Kestrel(以及 ASP.NET Core 和 .NET Core)变得更快了。 TechEmpower 基准测试目前显示 ASP.NET Core、运行 Kestrel 与“纯文本”基准测试中最快的框架并列。
https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext
我读了 Rick Strahl 写的这篇精彩的 article。它说微软在 DotNet 核心 2.2 决定添加 InProcess
模式直接使用 IIS 来处理请求,而不是使用 OutOfProcess
处理使用 Kestrel Web 服务器的过程。我们知道在这种模式下,IIS 被用作反向网络服务器代理来获取请求并将其带到 kestrel。
<!-- hostingModel is the new property here -->
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
hostingModel="InProcess" />
然后 Rick Strahl 在他的文章中比较了 InProcess 模式和 OutOfProcess 模式,得到的结果是在没有 Kestrel(InProcess 模式)的情况下直接使用 IIS 需要更快的过程。 (甚至他也证明 IIS 使用原始 kestrel 的速度更快)
有了这个结果,我想知道为什么我们还有 Kestrel?只是为了在其他反向 Web 服务器(如 Apache Nginx 和...)之前使用我们的 DotNet 核心应用程序?或者还有其他一些使用 OutOfProcess 会有用的场景?我简单地说为什么我们应该同时使用 (IIS + Kestrel)
IIS 是唯一可以直接托管 .NET 的服务器(正在处理中)。但是所有不是 IIS 的跨平台服务器呢?
如果我是运行Linux(老实说,most of the cloud is, even Microsoft),我用什么?
这就是为什么我们需要独立的东西,例如 Kestrel。
此外,在最近的版本中,Kestrel(以及 ASP.NET Core 和 .NET Core)变得更快了。 TechEmpower 基准测试目前显示 ASP.NET Core、运行 Kestrel 与“纯文本”基准测试中最快的框架并列。
https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext