IIS7 Integrated vs Classic Pipeline - which uses more ASP.NET threads?

六眼飞鱼酱① 提交于 2019-12-12 07:39:52

问题


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?


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/2337773/iis7-integrated-vs-classic-pipeline-which-uses-more-asp-net-threads

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!