infn process
TRANSCRIPT
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 1/19
Internet InformationInternet Information
Services Process ModelServices Process Model
Chris AdamsChris AdamsIIS Technical Lead WAIIS Technical Lead WA
Microsoft CorporationMicrosoft Corporation
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 2/19
2
WebCast TopicsWebCast TopicsProcess ModelProcess Model
IIS 4.0IIS 4.0
InIn--ProcessProcess
BenefitsBenefits
DrawbacksDrawbacks
Isolation (Separate Memory Space)Isolation (Separate Memory Space)
BenefitsBenefits
Transaction Server Transaction Server IntegrationIntegration
Advanced SecurityAdvanced Security
DrawbacksDrawbacks
PerformancePerformance
HardwareHardwareConsiderationsConsiderations
IIS 5.0IIS 5.0
InIn--Process (inetinfo)Process (inetinfo)
Medium (Pooled)Medium (Pooled)
BenefitsBenefits
Application IsolationApplication Isolation
StabilityStability Isolation (Separate Memory Space)Isolation (Separate Memory Space)
ASP.NET and IIS 5.0ASP.NET and IIS 5.0
Service Accounts and IISService Accounts and IIS
InIn--ProcessProcess
System AccountSystem Account
Configurable?Configurable?
Out of ProcessOut of Process
Component ServicesComponent ServicesIntegrationIntegration
Configurable IdentityConfigurable Identity
Performance LossPerformance Loss
Considerations: InProc vs. OOPConsiderations: InProc vs. OOP
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 3/19
3
IIS 4.0 Process Model: ModesIIS 4.0 Process Model: Modes
Microsoft® IIS 4.0Microsoft® IIS 4.0(Windows NT® (Windows NT® Option Pack)Option Pack)
�� Two modesTwo modes
�� InIn--processprocess(Inetinfo.exe)(Inetinfo.exe)
�� OutOut--of of--processprocess(Mtx.exe)(Mtx.exe)
The example showsa site running in-process. If selected,the site or virtualdirectory would bechecked.
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 4/19
4
IIS 4.0 Process Model: InIIS 4.0 Process Model: In--ProcessProcess
BenefitsBenefits Performance is fastPerformance is fast
Less variables to breakLess variables to break
DrawbacksDrawbacks
InetInfo service isInetInfo service isvulnerable tovulnerable tounexpected shutdownunexpected shutdown
Example shows a siterunning out of process in
a process named "MTX".
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 5/19
5
InIn--Process ModelProcess Model
Internetclients
IIS 4.0 Server
One process: InetInfo
1
23
InetInfo:
� W3SVC
� MSFTPSVC
� SMTPSVC
� NNTPSVC
Metabase: Loaded here
ISAPI Filters: Loaded here
In-proc ISAPI handling
InetInfo:
� W3SVC
� MSFTPSVC
� SMTPSVC
� NNTPSVC
Metabase: Loaded here
ISAPI Filters: Loaded here
In-proc ISAPI handling
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 6/19
6
IIS 4.0 Process Model: IsolationIIS 4.0 Process Model: Isolation
Integration with MTSIntegration with MTS
BenefitsBenefits
Permits granular isolation from the site to thePermits granular isolation from the site to thevirtual directory levelvirtual directory level
Runs as isolated individual process calledRuns as isolated individual process calledMTXMTX
DrawbacksDrawbacks
PerformancePerformance
Process delays between InetInfo and MTXProcess delays between InetInfo and MTX
WAMWAM
Maps requests to low or high isolationMaps requests to low or high isolation
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 7/19
7
OutOut--of of--Process CostsProcess Costs
Internetclients
IIS 4.0/5.0 Server
GetDefault.asp
Metabase lookupISAPI processing
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.
1
2
3
4
5
InetInfoprocess
MTXprocess
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 8/19
8
OutOut--of of--Process Entire CostsProcess Entire Costs
Internetclients
IIS 4.0/5.0 Server
GetDefault.asp
Metabase lookupISAPI processing
Inter-ProcessCall whichisexpensiveon CPU
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.
MTXprocess
InetInfoprocess
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 9/19
9
Process Model IIS 5.0Process Model IIS 5.0
Three modes:Three modes:
Low (IIS process)Low (IIS process)
Medium (pooled)Medium (pooled)
High (isolated)High (isolated)
Low:Low:
Process runs totallyProcess runs totallyunder identity of under identity of system accountsystem account
Excellent for Excellent for
troubleshooting IIS totroubleshooting IIS toCOM errorsCOM errors
Isolated processes:Isolated processes:uses COMuses COM
Out of sync problemsOut of sync problems
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 10/19
10
COM+ IntegrationCOM+ Integration InternalsInternals
ASP thread pool (uses COM+ STA thread pool)ASP thread pool (uses COM+ STA thread pool)
ASP transactions (IIS utilities COM+ application)ASP transactions (IIS utilities COM+ application) OutOut--of of--process (medium or high):process (medium or high):
Process isolation for ISAPIProcess isolation for ISAPI
By default, during installation, IIS creates threeBy default, during installation, IIS creates three
packagespackages By default, processes created by IIS are run under By default, processes created by IIS are run under
the identity of IWAM_MachineNamethe identity of IWAM_MachineName
User identity is configurableUser identity is configurable
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 11/19
11
This is a screen shot of thecomponent services. With alldefault installations of IIS 5.0,three applications are created:
IIS InProc AppsIIS Out-of-process PooledIIS Utilities
Component Services DefaultComponent Services DefaultScreen ShotScreen Shot
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 12/19
12
Clicking identityexposes the user account being usedto run the process
To run without error,the user identifiedhere needs thefollowing minimiummachinepermissions:
Log on locallyLog on locally
Access thisAccess thiscomputer fromcomputer fromthe networkthe network
Log on as aLog on as abatch obbatch ob
OutOut--of of--Process ApplicationProcess ApplicationProperties Default Screen ShotProperties Default Screen Shot
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 13/19
13
The configuration for the IIS out-of-processpooled process isobtained by right-
clicking and selectingproperties from thecontext menu
The Identity tab iswhere the process(dllhost) serviceaccount is configuredto run; in the case of IIS, this is the IWAMaccount
Is stored in the metabase
Identity Configuration ScreenIdentity Configuration ScreenShotShot
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 14/19
14
IIS stores the identity information that is to be used in themetabase
This information can be obtained using the ADSUtil or MetaEditutilities
By default, the password is secured by the ADSUtil utility and
MetaEdit
Metabase Stored Data Screen ShotMetabase Stored Data Screen Shot
Metabase Information Stored onCOM+ Identity
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 15/19
15
ASP.NET and IIS 5.0ASP.NET and IIS 5.0 IIS inIIS in--process ISAPI applicationsprocess ISAPI applications
Handled directly by InetInfoHandled directly by InetInfo
How does this differ from default handling?How does this differ from default handling?
Inetinfo routes directly to ASPNET_WP.exeInetinfo routes directly to ASPNET_WP.exe Is ASP.NET an inIs ASP.NET an in--process or outprocess or out--of of--proc ISAPI?proc ISAPI?
An InAn In--Proc ISAPI ApplicationProc ISAPI Application
Is classic ASP an inIs classic ASP an in--process ISAPI?process ISAPI?
ASP ISAPI can run either InProc or OOPASP ISAPI can run either InProc or OOP
If it is an inIf it is an in--process account, what account is the ISAPIprocess account, what account is the ISAPI
running under?running under? ASPNETASPNET ± ± User created during ASP.NET FrameworkUser created during ASP.NET Framework
InstallInstall
Why is this important?Why is this important? To understand what is loaded and running in the InetInfoTo understand what is loaded and running in the InetInfo
processprocess
Default inDefault in--process ISAPIsprocess ISAPIs
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 16/19
16
ASP.NET and IIS 5.0ASP.NET and IIS 5.0 (2)(2)
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 17/19
17
Process ConsiderationsProcess Considerations
InIn--process is sufficient to use:process is sufficient to use: When hardware limitations restrict the system from havingWhen hardware limitations restrict the system from having
good performance running outgood performance running out--of of--processprocess
On IIS 4.0, only when application code or thirdOn IIS 4.0, only when application code or third--party codeparty codehas been thoroughly tested!has been thoroughly tested!
On IIS 5.0On IIS 5.0
With enough power, most applications should stay inWith enough power, most applications should stay inthe mediumthe medium--pooled processpooled process
Keep in mind that making one call to one DLLHost isKeep in mind that making one call to one DLLHost isbetter than one DLLHost calling another, and another«better than one DLLHost calling another, and another«
When errors are occurring on the server When errors are occurring on the server It is frequently a good idea to isolate the problem to IISIt is frequently a good idea to isolate the problem to IIS
or COM by moving the site/virtual directory inor COM by moving the site/virtual directory in-- or outor out--of of--processprocess
If breaking while InProc, take outIf breaking while InProc, take out--of of--processprocess
If breaking while outIf breaking while out--of of--process, move InProcprocess, move InProc
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 18/19
18
Process ConsiderationsProcess Considerations (2)(2)
OutOut--of of--process should be used:process should be used:
To isolate known problematic codeTo isolate known problematic code
On IIS 5.0On IIS 5.0
Only isolate high volume using high isolatedOnly isolate high volume using high isolated
Leave most sites running in pooled memory spaceLeave most sites running in pooled memory space
On IIS 4.0On IIS 4.0
Troubleshooting or high volume sites are typically theTroubleshooting or high volume sites are typically theonly reason to run in high isolationonly reason to run in high isolation
8/6/2019 Infn Process
http://slidepdf.com/reader/full/infn-process 19/19
Thank you for joining us for today¶s Microsoft SupportThank you for joining us for today¶s Microsoft Support
WebCast.WebCast.
For information about all upcoming Support WebCastsFor information about all upcoming Support WebCasts
and access to the archived content (streaming mediaand access to the archived content (streaming media
files, PowerPointfiles, PowerPoint® ® slides, and transcripts), please visit:slides, and transcripts), please visit:
http://support.microsoft.com/webcasts/http://support.microsoft.com/webcasts/
We sincerely appreciate your feedback. Please send anyWe sincerely appreciate your feedback. Please send any
comments or suggestions regarding the Supportcomments or suggestions regarding the Support
WebCasts toWebCasts to [email protected]@microsoft.com..