infn process

19
8/6/2019 Infn Process http://slidepdf.com/reader/full/infn-process 1/19 Internet Information Internet Information Services Process Model Services Process Model Chris Adams Chris Adams IIS Technical Lead WA IIS Technical Lead WA Microsoft Corporation Microsoft Corporation

Upload: aamalacare

Post on 07-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Infn Process

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

Page 2: Infn Process

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

Page 3: Infn Process

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.

Page 4: Infn Process

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".

Page 5: Infn Process

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

Page 6: Infn Process

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

Page 7: Infn Process

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

Page 8: Infn Process

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

Page 9: Infn Process

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

Page 10: Infn Process

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

Page 11: Infn Process

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

Page 12: Infn Process

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

Page 13: Infn Process

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

Page 14: Infn Process

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

Page 15: Infn Process

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

Page 16: Infn Process

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)

Page 17: Infn Process

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

Page 18: Infn Process

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

Page 19: Infn Process

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..