Czy wyłączanie limitu czasu bezczynności dla puli aplikacji jest szkodliwe?


51

Jestem obecnie walczą problem z ASP.NET biorących minut, aby załadować stronę po raz pierwszy. Dzięki zabawie z ustawieniami odkryłem, że wyłączenie „Zamykanie procesów roboczych po bezczynności przez (czas w minutach”) zatrzymuje występowanie problemu ... Zakładam, że powodem, dla którego powstrzymuje mój problem, jest to, że proces roboczy nie kończy się, dlatego pula aplikacji nigdy nie musi się ponownie tworzyć.

Czy wyłączenie tej opcji jest szkodliwe? Jakie mogą mieć konsekwencje?

Odpowiedzi:


52

Zdecydowanie zalecam wyłączenie limitu czasu bezczynności w większości sytuacji. Jest to ustawienie domyślne, ale jest przeznaczone raczej dla hostów masowych, którzy chcą, aby nieużywane procesy robocze zostały zakończone, aby zawsze mogli założyć, że nie wszystkie będą działały w tym samym czasie.

Jeśli jednak masz tylko kilka pul aplikacji produkcyjnych na serwerze, ale od czasu do czasu nie masz gościa w 20 minutowej przestrzeni (tj. Z dnia na dzień), nie chcesz, aby pula aplikacji się zatrzymała. Prawdopodobnie masz wystarczającą ilość zasobów, aby wszystkie pule aplikacji były uruchomione jednocześnie.

Ponadto należy również zmienić domyślne ustawienia recyklingu puli aplikacji po 1740 minutach. Zalecam zaplanowanie go poza godzinami szczytu, takimi jak 4:00 dziennie, zamiast o różnych porach każdego dnia. Więcej o tym tutaj na mojej stronie internetowej.


14

To ustawienie najlepiej pozostawić włączone dla:

  • nieszczelne aplikacje
  • serwery z dużą ilością pul aplikacji

Nie ma większego niebezpieczeństwa, że ​​zostaniesz przytłoczony pulami aplikacji, jeśli masz tylko kilka zdefiniowanych.

Poza tym w wielu przypadkach wyłączyłem go, bez żadnych skutków ubocznych.


4

Rozumiem, że jeśli nie zabijesz bezczynnych procesów roboczych po pewnym czasie, będziesz mieć mnóstwo niewykorzystanych procesów roboczych pochłaniających pamięć.

Myślę, że możesz spróbować i sprawdzić, czy zauważysz stopniowy wzrost pamięci. Istnieje inne ustawienie, które wykonuje recykling co 1700 minut lub coś takiego, aby usunąć naprawdę stare procesy robocze.

BTW Sposób, w jaki sobie z tym radzimy w przypadku rzadziej używanych stron internetowych, polega na tym, że nasze oprogramowanie monitorujące ładuje stronę aspx co 10 minut.


Dzięki za informację, będę mieć oko na pamięć. Z jakiego oprogramowania monitorującego korzystasz?
djdd87,

Tembria Server Monitor
Adam Brand

Zgodnie z tym linkiem ( bradkingsley.com/iis7-application-pool-idle-time-out-settings ) „Jeśli zużyte zasoby wszystkich połączonych witryn działających na serwerze zużywają mniej niż ~ 80% zasobów serwera,„ prawdopodobnie dobrze. ” Oznacza to, że ustawienie limitu czasu bezczynności na „0”, aby go zasadniczo wyłączyć, może być OK, jeśli powyższe pasuje do Twojego opisu.
atconway
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.