Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!



ASP.NET Ajax Released

merlin_jim Re:Too many layers! (101 comments)

We have an ASP.NET application running on .NET. .NET is running on the userland Windows subsystems. These subsystems are running on the NT kernel. The NT kernel is then running on hardware.

Just a nit or two but

a. Calling it the Windows NT kernel is a bit of a misnomer - All the vestiges of the NT kernel were removed for the XP / 2003 rewrite...

b. the actual process stack looks like this:

world wide web worker process (w3wp.exe) -> HttpApplication object -> HttpModule object -> .NET runtime -> ISAPI interface -> IIS6 -> windows API -> usermode to kernelmode marshal -> kernel stuff

Unless you're running IIS6 in native kernel mode in which case it looks like this

w3wp.exe -> HttpApplication -> IIS6 -> usermode to kernelmode marhsal -> HttpKernel -> .NET runtime -> kernel stuff

The big advantage of that is of course if the request can be handled entirely by the kernel mode HTTP server (such as a request coming straight out of .NET cache, or one with invalid authentication credentials) then it never hits usermode at all... also vastly simplifies the process model...

I saw a comparison of data caching between the two modes once - it was a 64K page made by concatentating a 1K string and outputting it - the IIS5-style user mode HttpModule handled 40-60 requests per second IIRC... very respectable for running IIS on a laptop with a load client and powerpoint and a half dozen other things going on...

He flipped the switch in machine.config to use kernel mode HTTP handling - hit 1200 requests per second immediately - and it was obvious that the limitation was no longer the server but the load client...

He explained he chose a 64K test page to prove that the kernelmode driver wouldn't have any datapaging problems with caching...

about 8 years ago


merlin_jim hasn't submitted any stories.


merlin_jim has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?