IIS7 集成与经典管道 - 哪个使用更多 ASP.NET 线程?

发布于 2024-08-23 04:20:09 字数 337 浏览 13 评论 0原文

通过集成管道,所有请求都通过 ASP.NET 传递,包括图像、CSS。

而在经典管道中,默认情况下仅通过 ASP.NET 传递对 ASPX 页面的请求。

集成管道会对线程使用产生负面影响吗?

假设我从 IIS 服务器请求 500 MB 二进制文件:

  • 通过集成管道,ASP.NET 将使用工作线程 用于二进制下载(对吗?)。
  • 对于经典管道,请求是 由 IIS 直接提供服务,因此无需 ASP.NET 使用线程。

对我来说,这有利于经典管道,因为我希望有尽可能多的线程为 ASPX 页面提供服务。

我在这里完全偏离基地了吗?

With integrated pipeline, all requests are passed through ASP.NET, including images, CSS.

Whereas, in classic pipeline, only requests for ASPX pages are by default passed through ASP.NET.

Could integrated pipeline negatively affect thread usage?

Suppose I request 500 MB binary file from an IIS server:

  • With integrated pipeline, an ASP.NET
    worker thread would be used
    for the binary download (right?).
  • With classic pipeline, the request is
    served directly by IIS, so no ASP.NET
    thread is used.

To me, this favors classic pipeline, as I would like as many threads as possible to serve ASPX pages.

Am I completely off base here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

执手闯天涯 2024-08-30 04:20:09

如果您查看 IIS 7 中的 machine.config、web.config 和 applicationHost.config,您会发现当您在经典管道和集成管道之间切换时,提供静态内容的方式不会改变。唯一改变的是映射到 asp.net 的请求是通过托管模块还是通过本机 ISAPI 筛选器模块。

唯一可能影响性能的事情是,如果您修改授权模块的默认设置以及在处理静态内容请求时添加的要执行的任何自定义模块。即使在这里,开销也可能可以忽略不计。

因此,更合适的基准测试是 IIS 6 与 IIS 7,我怀疑 IIS 7 将是明显的赢家。

If you look at machine.config, web.config and applicationHost.config in IIS 7, you can see that the way static content is served does not change when you switch between classic and integrated pipeline. The only thing that changes is whether requests mapped to asp.net pass through a managed module or the native ISAPI filter module.

The only thing that could affect performance is if you modify the default settings for authorization modules and any custom modules you've added to execute when handling requests for static content. And even here the overhead is probably negligible.

Therefore a more appropriate benchmark would be IIS 6 vs IIS 7, and I suspect IIS 7 would be the clear winner.

萝莉病 2024-08-30 04:20:09

我想说你是对的,但我从另一个角度来看。

您是否需要处理非 ASPX 页面的请求?例如,记录它们,或者在不满足某些条件时禁止响应。

如果您需要这种处理能力,请使用集成管道。如果不这样做,请使用经典管道。

I'd say you're right, but I' look at it from another perspective.

Do you need to process the requests for the non-ASPX pages ? For example, to log them, or to forbid the response if some condition is not met.

If you need this processing capability, use integrated pipeline. If you don't, use the classic pipeline.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文