Różnica między „Natychmiastowym uruchamianiem puli aplikacji” a Start Mode AlwaysRunning

20

W Menedżerze usług IIS pula aplikacji ma pole wyboru „Natychmiast uruchom pulę aplikacji” w oknie dialogowym ustawień podstawowych oraz ustawienie zaawansowane o nazwie „Tryb uruchamiania”, które można ustawić na „OnDemand” lub „AlwaysRunning”.

Jaka jest różnica między tymi ustawieniami?

Ergwun
źródło

Odpowiedzi:

8

Miałem to samo pytanie, co oryginalny plakat, ale nie mogłem znaleźć zwięzłej odpowiedzi, poniżej znajduje się analiza moich badań.


Pula aplikacji! = Proces roboczy (w3wp.exe)

  • Zwykle widzimy jedną instancję w3wp.exe działającą dla każdej puli aplikacji, ale technicznie możemy skonfigurować ogród internetowy z wieloma instancjami w3wp.exe działającymi.
    Ogrody internetowe ... czy są dobre czy złe czy co?
  • Proces roboczy jest wykonywany w kontekście pojedynczej puli aplikacji.


Natychmiast uruchom pulę aplikacji = Uruchomienie automatyczne lub ręczne
Ustawienia podstawowe ...

  • Włączone
    IIS automatycznie uruchomi pulę aplikacji.
  • Wyłączone
    Ktoś musi ręcznie uruchomić pulę aplikacji.


Tryb uruchamiania = tryb uruchamiania procesu roboczego: natychmiast lub na żądanie
Ustawienia zaawansowane ...

  • AlwaysRunning
    Jeśli pula aplikacji jest uruchomiona, natychmiast uruchom proces w3wp.exe.
  • OnDemand
    Jeśli pula aplikacji jest uruchomiona, uruchom proces w3wp.exe, gdy pojawi się żądanie aplikacji przychodzącej.

Dodatkowe uwagi

  • IISRESET / stop
    Zatrzymaj usługi IIS, pule aplikacji i procesy robocze (instancje w3wp.exe).
  • IISRESET / start
    Uruchom IIS i powyższe ustawienia konfiguracji określą, kiedy pule aplikacji i procesy robocze (w3wp.exe) zostaną uruchomione.

  • Menedżer usług IIS Zatrzymaj działanie interfejsu GUI serwera sieci Web
    Zatrzymaj serwer WWW przed przetwarzaniem żądań przychodzących, ale nie zatrzyma pul aplikacji lub procesów w3wp.exe.

  • Menedżer usług IIS Uruchom działanie interfejsu GUI serwera WWW
    Uruchom serwer WWW, aby obsłużyć żądania przychodzące, ale nie uruchomi pul aplikacji lub procesów w3wp.exe.
    Działanie menu, aby uruchomić / zatrzymać serwer WWW

  • Menedżer usług IIS Zatrzymaj działanie interfejsu GUI puli aplikacji
    Zatrzymaj proces w3wp.exe.

  • Menedżer usług IIS Uruchom działanie GUI puli aplikacji
    AlwaysRunning vs. OnDemand określa, kiedy uruchamia się proces w3wp.exe.
    Działanie menu, aby uruchomić / zatrzymać pulę aplikacji
Jeffrey Hyson
źródło
6

Wygląda na to, że „Uruchom pulę aplikacji natychmiast” kontroluje, czy pula aplikacji jest „Uruchomiona” po uruchomieniu usługi publikowania w sieci WWW. Ale „uruchomiona” pula aplikacji niekoniecznie działa (co oznacza, że ​​może nie istnieć proces w3wp).

Jeśli pula aplikacji nie zostanie „uruchomiona”, otrzymasz 503, gdy trafisz na witrynę korzystającą z tej puli aplikacji.

Jeśli pula aplikacji zostanie „uruchomiona”, proces w3wp obsłuży twoje żądanie. „Zawsze działający” oznacza, że ​​po uruchomieniu puli aplikacji rozpoczyna się proces w3wp. OnDemand oznacza, że ​​proces w3wp uruchamia się przy pierwszym wejściu na stronę internetową powiązaną z aplikacją (opóźnienie w uruchomieniu programu w3wp).

mhenry1384
źródło
4

Trochę za późno, by odpowiedzieć, ale dodam swoje odkrycia, gdy rozejrzałem się, by znaleźć odpowiedź na to samo pytanie.

„OnDemand”: IIS uruchomi proces roboczy po otrzymaniu pierwszego żądania aplikacji sieci Web. „AlwaysRunning”: IIS Uruchamia proces roboczy dla puli aplikacji zaraz po uruchomieniu IIS LUB po utworzeniu puli aplikacji.

jforjimmy
źródło
2
Jak to odpowiada na pytanie?
richb
Usunąłem link, który nie zawierał informacji potrzebnych do udzielenia odpowiedzi na pytanie. Proszę przeczytać odpowiedź mhenry1384, aby uzyskać więcej informacji.
jforjimmy
1

Według IIS 8 Co nowego - Ustawienia puli aplikacji :

Tryb uruchamiania

Uruchomienie kilku aplikacji internetowych zajmuje dużo czasu. Usługi IIS domyślnie uruchamiają proces roboczy tylko po otrzymaniu pierwszego żądania aplikacji sieci Web. Dlatego w przypadku aplikacji internetowych, które wymagają dłuższego czasu inicjalizacji, użytkownicy mogą zobaczyć powolne odpowiedzi.

W przypadku takich aplikacji dobrym pomysłem jest uruchomienie procesu roboczego zaraz po uruchomieniu IIS. Pule aplikacji mają ustawienie startMode, które ustawione na AlwaysRunning uruchamia proces roboczy dla puli aplikacji, gdy tylko uruchomią się IIS.

IIS 8 udostępnia to ustawienie w interfejsie ustawień puli aplikacji.

Dave Black
źródło