Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

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?

like image 700
frankadelic Avatar asked Feb 25 '10 21:02

frankadelic


People also ask

What is the difference between classic and integrated application pool?

Additionally, Integrated mode enables the availability of managed features to all content types. When an application pool is in Classic mode, IIS 7.0 handles requests as in IIS 6.0 worker process isolation mode. ASP.NET requests first go through native processing steps in IIS and are then routed to Aspnet_isapi.

What is IIS integrated pipeline?

Pipeline mode refers to how a Web server processes client requests. IIS 7 offers two pipeline modes. Integrated pipeline mode handles all requests through a unified pipeline because of the integration of ASP. NET's runtime with the Web server.

What is Integrated managed pipeline mode?

In Integrated mode, ASP.NET request processing integrates directly into the IIS 7 request-processing pipeline. Integrated mode enables you to configure managed modules for Web sites that are developed with unmanaged code. For example, you can use managed Forms authentication for a Web site that is developed with ASP.

What is Integrated mode?

Integrated mode in IIS 7.0 refers to the ability of managed code to have access to the unified pipeline. As mentioned earlier in this chapter, ASP.NET modules now have access to all content, not just from . aspx or . asmx files.


1 Answers

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.

like image 101
Chris Eldredge Avatar answered Oct 13 '22 21:10

Chris Eldredge