Beruflich Dokumente
Kultur Dokumente
Chris Adams
IIS Technical Lead WA
Microsoft Corporation
WebCast Topics
Process Model
IIS 4.0 IIS 5.0
In-Process
In-Process (inetinfo)
Benefits
Medium (Pooled)
Drawbacks
Isolation (Separate Memory Space) Benefits
Benefits Application Isolation
Transaction Server
Stability
Integration
Advanced Security Isolation (Separate Memory
Drawbacks Space)
Performance ASP.NET and IIS 5.0
Hardware Considerations
Service Accounts and IIS
In-Process
System Account
Configurable?
Out of Process
Component Services
Integration
Configurable Identity
Performance Loss 2
Considerations: InProc vs. OOP
IIS 4.0 Process Model: Modes
Microsoft® IIS 4.0
(Windows NT®
Option Pack)
• Two modes
• In-process
(Inetinfo.exe)
• Out-of-process
(Mtx.exe)
Internet
Internet
InetInfo:
InetInfo:
• • W3SVC
clients
clients W3SVC
• • MSFTPSVC
MSFTPSVC
• • SMTPSVC
SMTPSVC
• • NNTPSVC
NNTPSVC
1
Metabase:
Metabase:Loaded
Loadedhere
here
ISAPI
ISAPI Filters: Loadedhere
Filters: Loaded here
In-proc ISAPI handling
In-proc ISAPI handling
2
3
6
Out-of-Process Costs
5
Get
Default.asp
Internet
Internet MTX
MTX
clients
clients process
process
1
4
Metabase lookup
ISAPI processing
2
InetInfo
InetInfo
process
process
3
Note: Both InetInfo and MTX are running on the same machine, and costs come in
the form of CPU cycles needed to switch from the InetInfo context to the MTX
context and back. 7
Out-of-Process Entire Costs
Get
Default.asp
Internet
Internet MTX
MTX
clients
clients process
process
Inter-
Process
Call which
is Metabase lookup
expensive ISAPI processing
on CPU
InetInfo
InetInfo
process
process
Note: Both InetInfo and MTX are running on the same computer, and costs come in
the form of CPU cycles needed to switch from the InetInfo context to the MTX
context and back. 8
Process Model IIS 5.0
Three modes:
Low (IIS process)
Medium (pooled)
High (isolated)
Low:
Process runs totally
under identity of
system account
Excellent for
troubleshooting IIS to
COM errors
Isolated processes:
uses COM
Out of sync problems 9
COM+ Integration
Internals
ASP thread pool (uses COM+ STA thread pool)
ASP transactions (IIS utilities COM+ application)
Out-of-process (medium or high):
Process isolation for ISAPI
By default, during installation, IIS creates three
packages
By default, processes created by IIS are run under
the identity of IWAM_MachineName
User identity is configurable
10
Component Services Default
Screen Shot
14
ASP.NET and IIS 5.0
IIS in-process ISAPI applications
Handled directly by InetInfo
How does this differ from default handling?
Inetinfo routes directly to ASPNET_WP.exe
Is ASP.NET an in-process or out-of-proc ISAPI?
An In-Proc ISAPI Application
Is classic ASP an in-process ISAPI?
ASP ISAPI can run either InProc or OOP
If it is an in-process account, what account is the ISAPI
running under?
ASPNET – User created during ASP.NET Framework
Install
Why is this important?
To understand what is loaded and running in the InetInfo
process
Default in-process ISAPIs 15
ASP.NET and IIS 5.0 (2)
16
Process Considerations
In-process is sufficient to use:
When hardware limitations restrict the system from having
good performance running out-of-process
On IIS 4.0, only when application code or third-party code
has been thoroughly tested!
On IIS 5.0
With enough power, most applications should stay in the
medium-pooled process
Keep in mind that making one call to one DLLHost is
better than one DLLHost calling another, and another…
When errors are occurring on the server
It is frequently a good idea to isolate the problem to IIS
or COM by moving the site/virtual directory in- or out-of-
process
If breaking while InProc, take out-of-process
If breaking while out-of-process, move InProc
17
Process Considerations (2)
Out-of-process should be used:
To isolate known problematic code
On IIS 5.0
Only isolate high volume using high isolated
Leave most sites running in pooled memory space
On IIS 4.0
Troubleshooting or high volume sites are typically the
only reason to run in high isolation
18
Thank you for joining us for today’s Microsoft Support
WebCast.