PowerShell i IIS 12: Worker Process – w3wp

1-lis-2016

Usługa IIS jest realizowana przez proces w3wp. Dokładniej, każdy WebSite jest przypisany do jakiegoś WebApplicationPool. WebApplicationPool jest z kolei obsługiwany przez co najmniej jeden „Worker proces”. Zazwyczaj jeden WebApplicationPool nie potrzebuje większej ilości Worker proces, ale jedną za technik optymalizacyjnych jest wprowadzenie wielowątkowości obsługi WebApplicationPool przez przypisanie do niej większej ilości procesów w3wp (worker thread). Jest to tzw. WebGarden (w odróżnieniu od Web Farm, które angażuje więcej serwerów tutaj mamy do czynienia tylko z jednym serwerem, na którym jest uruchomionych więcej procesów). Poniżej widać worker proces obsługujący WebApplicationPool DefaultAppPool:

iis121

 

w3wp

 


Ideą stojącą za taką architekturą IIS jest minimalizacja problemów generowanych przez kod poszczególnych WebSite na server IIS, inne WebSite obecne na serwerze oraz na inne Worker procesy pracujące w ramach tego samego Application Pool.

Worker process może zostać zakończony przez IIS, jeśli przez dłuższy czas nic w ramach danego Application Pool się nie działo. Jest to jedna z zasad pozwalających minimalizować obciążenie serwera, gdyż każdy worker proces konsumuje część zasobów.

Worker proces może zostać zrestartowany przez administratora lub automatycznie przez IIS.

Komentarze są wyłączone

Autor: Rafał Kraik