Udostępnij za pośrednictwem


Rozwiązywanie problemów z wysokim użyciem procesora CPU na serwerze WSUS

W tym artykule przedstawiono kilka procedur rozwiązywania problemów z wysokim użyciem procesora CPU w usłudze Windows Server Update Service (WSUS).

Uwaga 16.

Użytkownicy domowi: ten artykuł jest przeznaczony tylko dla agentów pomocy technicznej i specjalistów IT. Jeśli szukasz pomocy dotyczącej problemu, poproś społeczność firmy Microsoft.

Oryginalna wersja produktu: Configuration Manager (current branch)
Oryginalny numer KB: 4489045

Wysokie użycie procesora CPU może wystąpić, jeśli baza danych WSUS (SUSDB) nie jest czysta. Po uruchomieniu serwera przez pewien czas może istnieć zbyt wiele aktualizacji dla serwera WSUS, aby zapewnić klientom.

W takiej sytuacji, jeśli wystąpi awaria lub zostanie zainstalowany nowy serwer WSUS lub niepowiązany problem uniemożliwia klientom skanowanie przez kilka dni, wszyscy klienci mogą rozpocząć skanowanie i kontynuować skanowanie i stale skanować i nigdy nie ukończyć skanowania lub instalowania aktualizacji.

Aby rozwiązać ten problem, należy wyczyścić serwer programu WSUS i odrzucić zastąpione aktualizacje. Wykonaj kroki opisane w poniższej kolejności jako miesięczną procedurę oczyszczania. Jeśli jednak rozwiązujesz problemy z wysokim użyciem procesora CPU, zalecamy najpierw wykonanie kroku 4, a następnie krok 3. Należy odroczyć kroki 1 i 2, dopóki poziom użycia procesora CPU nie spadnie.

Krok 1. Tworzenie kopii zapasowej bazy danych programu WSUS

Tworzenie kopii zapasowej bazy danych programu WSUS może nieznacznie zwiększyć wydajność.

Krok 2. Uruchamianie Kreatora oczyszczania serwera WSUS

Uruchomienie Kreatora oczyszczania serwera WSUS może zwiększyć wydajność bazy danych. Nie zmniejsza to jednak liczby aktualizacji skanowanych przez klientów. Ponadto uruchomienie kreatora może potrwać wiele godzin lub dni bez konieczności rozwiązywania problemu.

Krok 3. Ponowne indeksowanie bazy danych programu WSUS

Ponowne indeksowanie bazy danych programu WSUS może poprawić wydajność bazy danych, jeśli zostanie ona pofragmentowana. W tym celu uruchom następujące polecenia.

  1. Zaktualizuj element statistics przy użyciu FULLSCAN opcji .

    Use <dbname>
    Go
    Exec sp_msforeachtable 'update statistics ? with fullscan'
    Go
    
  2. Ponownie skompiluj indeksy.

    Use <dbname>
    Go
    Exec sp_msforeachtable 'DBCC DBREINDEX (''?'')'
    Go
    

Krok 4. Odrzucanie zastąpionych aktualizacji

Odrzucanie zastąpionych aktualizacji natychmiast zmniejsza liczbę skanowanych aktualizacji.

Aby odrzucić zastąpione aktualizacje lub wykonać jakiekolwiek akcje programu WSUS w sytuacji, gdy pula aplikacji programu WSUS jest zbyt szybka, można najpierw zatrzymać klientów przed nawiązaniem połączenia z pulą aplikacji programu WSUS. W tym celu połącz się z serwerem programu WSUS przy użyciu konsoli programu WSUS, a następnie zsynchronizuj serwer WSUS z serwerem nadrzędnym i programem Configuration Manager (jeśli jest używany). Jeśli używasz programu Configuration Manager, ważne jest, aby zsynchronizować najnowszą wersję aktualizacji w konsoli programu Configuration Manager, aby klienci widzieli, że program WSUS ma bieżące i prawidłowe aktualizacje.

Aby odłączyć klientów, użyj jednej z następujących metod.

Metoda 1. Tworzenie puli aplikacji testowych

  1. Kliknij prawym przyciskiem myszy pule aplikacji w obszarze Menedżer usług Internet Information Services (IIS), a następnie wybierz pozycję Dodaj pulę aplikacji, aby utworzyć testową pulę aplikacji.

  2. Wybierz pozycję Usługa>internetowa klienta Zarządzaj ustawieniami zaawansowanymi aplikacji>, a następnie zmień pulę aplikacji na utworzoną pulę aplikacji testowych.

Metoda 2. Zmiana portu witryny internetowej programu WSUS

  1. Wybierz pozycję Powiązania edycji witryny>sieci Web administracja programu WSUS.

  2. Zmień konsolę programu WSUS, aby nawiązać połączenie z nowym portem, uruchomić skrypt i zsynchronizować z usługą USS.

    Uwaga 16.

    Ta metoda spowoduje niepowodzenie synchronizacji z programem Configuration Manager.

Metoda 3. Użyj reguł zapory, aby zablokować wszystkie adresy IP klienta lub zezwolić tylko na połączenia przychodzące serwera lokacji i usług USS

Po odłączeniu klientów od serwera programu WSUS można uruchomić skrypt programu PowerShell przy użyciu -skipdecline parametrów (i -exclusion kropki, w razie potrzeby), aby określić całkowitą liczbę zastąpionych aktualizacji, które można odrzucić. Następnie ponownie uruchom skrypt, używając polecenia -skipdecline , aby rzeczywiście odrzucić aktualizacje.

W skrajnych przypadkach, w których skrypt programu PowerShell nie może działać z powodu przekroczenia limitu czasu, można dodać kolumnę zastępowania do konsoli programu WSUS, gdy zostaną wyświetlone wszystkie aktualizacje, a następnie odrzucić aktualizacje ręcznie, wykonując następujące kroki:

  1. Otwórz program Microsoft Management Console (MMC) usług Windows Update Services.
  2. Wybierz widok Wszystkie aktualizacje. Aby to zrobić, ustaw ekran, aby wyświetlić stan Zatwierdzenia dowolnej z wyjątkiem Odrzucone ze stanem Dowolne, a następnie kliknij przycisk Odśwież.
  3. Kliknij prawym przyciskiem myszy nagłówki kolumn, a następnie wybierz pozycję Zastępowanie.
  4. Kliknij lewym przyciskiem myszy kolumnę Zastępowanie , aby posortować według zastępowania.
  5. Wybierz i odrzuć zastąpione aktualizacje.

Problem z wydajnością można zwykle rozwiązać po zmniejszeniu prawidłowej aktualizacji do mniej niż 7000 połączeń (ale preferowane jest mniej niż 5000). Może być konieczne ograniczenie połączeń do witryny sieci Web administracyjnej programu WSUS przez kilka dni, aby umożliwić klientom ukończenie wszystkich skanowań. Zalecamy również ponowne indeksowanie bazy danych po odrzuceniu zastąpionych aktualizacji. Jeśli używasz programu Configuration Manager, wykonaj również synchronizację między usługami WSUS i Configuration Manager, gdy klienci nie łączą się.

Po wykonaniu tych kroków należy ograniczyć połączenia, jeśli użycie procesora CPU jest nadal zbyt wysokie. W tym celu wykonaj następujące kroki:

  1. Otwórz okno Internet Information Services (IIS) Manager WSUS Administration Web Site Manage web site Advanced settings Limits Maximum concurrent connections (Zarządzanie witryną sieci Web) Menedżera>usług Internet Information Services (IIS) Zarządzaj witryną>>sieci Web Zaawansowane ustawienia>Limity>maksymalnych połączeń współbieżnych.

  2. Ustaw wartość na 50 lub 100.

  3. Monitoruj proces W3Wp w Menedżerze zadań i łączną liczbę procesorów CPU na serwerze.

  4. Otwórz monitor zasobów menedżera> zadań i zanotuj identyfikator PID dla puli aplikacji programu WSUS. Jeśli nie masz pewności, który proces w3wp uruchamia pulę aplikacji WSUS, możesz użyć narzędzia Appcmd (metoda 2), aby łatwo zidentyfikować identyfikator PID.

Domyślnie piD powinien zmieniać się tylko raz co 29 godzin. Jeśli częściej zmienia się, limit połączenia może być zbyt wysoki dla bieżącego ustawienia procesora CPU i pamięci dla puli aplikacji programu WSUS.

Monitoruj stabilną pamięć w3wp i stabilne ogólne użycie procesora CPU w mniej niż 90 procent. W miarę spadku użycia procesora CPU i pamięci w stanie stałym można powoli zwiększyć limity połączeń z witryną administracyjną programu WSUS. W zależności od rodzaju sytuacji, w której się znajdują, użycie pamięci może potrwać kilka dni, aby powrócić do stabilnego stanu. Zwiększenie limitów połączeń może być konieczne w małych przyrostach i w ciągu kilku dni.

Odwołanie

Wysokie użycie procesora CPU/pamięci w programie WSUS po wtorkach aktualizacji