Jeśli chcesz zrestartować komputer, aby poprawić wydajność, prawdopodobnie oznacza to, że w końcu masz problemy z zarządzaniem pamięcią.
Buforowanie jest dobre
Zresztą zrestartowanie serwerów zaszkodziłoby wydajności (i oczywiście dostępności) w bardziej idealnym środowisku . Jedną z podstaw wydajności obliczeń jest skorzystanie z buforowania (posiadanie danych w szybkiej pamięci). Za każdym razem, gdy uruchamiasz się ponownie, wysadzasz swoją pamięć podręczną. Dotyczy to zarówno serwera SQL, jak i IIS. Chociaż możesz nie mieć idealnego środowiska, poniższe wskazówki powinny pomóc ci wybrać lepszą opcję niż ponowne uruchamianie serwera zgodnie z harmonogramem.
Wycieki pamięci IIS?
Teraz wspomniałeś, że jest to IIS 7.5. Chociaż uważam to za przygnębiające, tak wiele aplikacji internetowych działających w IIS 7.5 ma wycieki pamięci, że domyślnie w IIS jest restartowanie aplikacji co X minut i wyłączanie jej, jeśli pula aplikacji jest bezczynna. Idealnym rozwiązaniem jest usunięcie wycieków pamięci - ale jeśli nie możesz, możesz to zmienić te ustawienia, w tym limity pamięci i timery. Możesz użyć perfmon, aby dowiedzieć się, który proces w3wp korzysta z pamięci. Jest to trochę uciążliwe, ale możesz je przywiązać do puli aplikacji %systemroot%\system32\inetsrv\APPCMD list wps
.
Pamięć SQL
Wracając do buforowania, SQL zajmie tyle pamięci, ile może. Możesz to ograniczyć we właściwościach serwera SQL. Jeśli nie ograniczysz pamięci, a także używasz IIS na urządzeniu, mogą one zacząć walczyć o wydajność zabijania pamięci. W tym znakomitym artykule omówiono szczegółowo: Przewodnik Sysadmin po pamięci Microsoft SQL .
Saldo
Ponieważ masz zarówno IIS, jak i SQL na tym samym pudełku, będziesz musiał zrównoważyć zużycie pamięci. Jeśli tego nie zrobisz, możesz dostać pamięć, która prawdopodobnie zostanie ponownie użyta, zamieniona na dysk - co jest okropnym miejscem (powinny istnieć liczniki perfmon dla aktywności wymiany). Korzystając z ustawień Kosza IIS i limitów pamięci SQL, powinieneś być w stanie ustabilizować ten system. Aby to zrównoważyć, możesz potrzebować więcej pamięci niż 4 GB. Ponadto, jeśli jest to opcja, zdecydowanie zaleciłbym umieszczenie serwera SQL na dedykowanej maszynie - to znacznie poprawi wydajność i znacznie uprości rzeczy.