Jaka jest różnica między iisreset, recyklingiem, odświeżaniem i restartem?

53

W IIS7 jest wiele rzeczy, które możesz zrobić, aby zrestartować stronę. Nie jestem pewien, jak dokładnie są ze sobą powiązane.

  • uruchom iisreset z wiersza poleceń
  • odśwież stronę internetową
  • przetwarza pulę aplikacji
  • uruchom ponownie stronę internetową

Czy ktoś może dokładnie wyjaśnić, co każdy z nich zadowala?

jimconstable
źródło

Odpowiedzi:

60

iisreset zatrzyma się i uruchomi usługę publikowania w sieci WWW. Dotyczy to oczywiście wszystkich pul aplikacji. Jestem pewien, że zauważyłeś proces tworzony dla każdej puli aplikacji. Ten proces obsłuży żądania dotyczące wszystkich powiązanych z nim witryn. Podczas recyklingu puli aplikacji usługi IIS utworzą nowy proces (zachowując stary) do obsługi żądań. Następnie próbuje przenieść wszystkie żądania w nowym procesie. Po upływie limitu czasu stary proces zostanie automatycznie zabity. Zwykle recyklujesz pulę aplikacji, aby pozbyć się wycieku pamięci (możesz mieć problem z aplikacją, jeśli musi to być regularna operacja, nawet jeśli zalecane jest zaplanowane ponowne uruchomienie). Co do ponownego uruchomienia strony internetowej, po prostu zatrzymuje się i ponownie uruchamia przesyłanie żądań dla tej konkretnej witryny. Będzie nadal obsługiwał inne witryny w tej samej puli aplikacji bez żadnych zakłóceń.

Jeśli masz aplikację zorientowaną na sesję, wszystkie powyższe spowodują utratę obiektów sesji.

Odświeżenie strony nie ma wpływu na usługę / proces / stronę i jest jedynie poleceniem interfejsu użytkownika służącym do odświeżenia widoku drzewa (być może dodałeś katalog, którego nie widzisz w konsoli zarządzania).

Vlad Mucescu
źródło
1
Czy masz źródło tych informacji?
Joshua Drake
@JoshuaDrake to jest bardzo fajny artykuł wyjaśniający iisreset vs pulę aplikacji fullsocrates.wordpress.com/2012/07/25/…
Rashmi Pandit
jeśli mam witrynę z pulą aplikacji i wiele folderów aplikacji z własnymi pulami aplikacji, czy ponowne uruchomienie witryny spowoduje ponowne uruchomienie wszystkich pul aplikacji?
sonjz
Z jednej puli aplikacji można korzystać na wielu stronach internetowych? Czy jest to jeden do jednego?
James Wierzba,
5

Aby odpowiedzieć na dwa pozostałe pytania:

  • Odśwież strony po prostu ponownie ładuje dane z serwera
  • Ponowne uruchomienie strony internetowej niewiele robi. Zatrzymując stronę internetową, nie będzie już nasłuchiwać żądań dotyczących żadnych powiązań. Ponowne uruchomienie powoduje, że ponownie zaczyna słuchać. Procesy obsługujące stronę internetową pozostają niezmienione.
Nils Magne Lunde
źródło
4

iisreset zatrzymuje się i uruchamia cały serwer WWW. To wszystko - wszyscy twoi użytkownicy tracą połączenia w tym czasie.

Recykling puli aplikacji zatrzymuje się i uruchamia procesy związane z aplikacjami znajdującymi się w tej puli. Ściśle mówiąc, nie ma to nic wspólnego ze stroną internetową (z wyjątkiem aktywnych treści z tych aplikacji).

mfinni
źródło
1
Co powiesz na odświeżenie i ponowne uruchomienie?
jimconstable
1
Nie wiem, nie korzystałem dużo z IIS 7 i nawet nie mam IIS 6 przede mną. Co mówi Help, że tak robią?
mfinni 15.03.11
2

@Vlad Mucescu udzielił dobrej odpowiedzi, ale wydaje się, że w tej części opisuje on recykling aplikacji, o której mówi o Overlapped Recycling. Istnieją dwa rodzaje recyklingu: Recykling procesów i Recykling nakładający się ( źródło MSDN ):

Recykling procesów

Tryb izolacji procesu roboczego oferuje recykling procesu, w którym IIS automatycznie odświeża aplikacje sieci Web poprzez ponowne uruchomienie procesów roboczych. Recykling procesów zapewnia sprawne działanie problematycznych aplikacji i jest szczególnie skutecznym rozwiązaniem w przypadkach, w których nie można modyfikować kodu aplikacji.
Recykling, który następuje po zdarzeniu recyklingu, może odbywać się na dwa sposoby.
Jeśli proces roboczy aktualnie obsługujący pulę aplikacji zostanie zakończony, wówczas usługa WWW (W3SVC), działając jako proces nadrzędny dla procesów roboczych, ponownie uruchomi nowy proces na swoim miejscu.
Gdy proces roboczy zostanie zakończony, równocześnie uruchamiany jest nowy. Ten rodzaj recyklingu nazywa się recyklingiem pokrywającym się. Jest to ustawienie domyślne dla wszystkich pul aplikacji.

Pokrywający się recykling

W pokrywającym się scenariuszu recyklingu proces przeznaczony do recyklingu kontynuuje przetwarzanie wszystkich pozostałych żądań, podczas gdy proces roboczy zastępowania jest tworzony jednocześnie. Nowy proces jest uruchamiany przed zatrzymaniem starego procesu roboczego, a następnie żądania są kierowane do nowego procesu. Ten projekt zapobiega opóźnieniom w świadczeniu usług, ponieważ stary proces kontynuuje przyjmowanie żądań, dopóki nowy proces nie zostanie pomyślnie zainicjowany, i poleca się go zamknąć dopiero, gdy nowy proces będzie gotowy do obsługi żądań.

Michaił
źródło