Dobre praktyki dotyczące Usług aktualizacji serwera Windows

Ten artykuł zawiera wskazówki dotyczące unikania konfiguracji, które mają niską wydajność z powodu ograniczeń projektowania lub konfiguracji w Usługach aktualizacji serwera Windows (WSUS).

Oryginalna wersja produktu: Configuration Manager (bieżąca gałąź), Windows Server Update Services
Oryginalny numer KB: 4490414

Limity pojemności

Mimo że usługa WSUS może obsługiwać 100 000 klientów na serwer (150 000 klientów w przypadku korzystania z programu Menadżer konfiguracji), nie zalecamy zbliżania się do tego limitu.

Zamiast tego rozważ użycie konfiguracji 2–4 serwerów współużytkujących tę samą bazę danych serwera SQL. W ten sposób masz bezpieczeństwo w liczbach. Jeśli jeden serwer ulegnie awarii, nie spowoduje to natychmiastowego zepsucia Twojego weekendu, ponieważ żaden klient nie może zostać zaktualizowany, podczas gdy Ty musisz dokonać aktualizacji zero-day exploit.

Scenariusz udostępnionej bazy danych zapobiega również burzy skanowania.

Burza skanowania może wystąpić, gdy wielu klientów zmienia serwery usługi WSUS, a serwery te nie współużytkują bazy danych. Usługa WSUS śledzi aktywność w bazie danych, dzięki czemu oba wiedzą, co się zmieniło od czasu ostatniego skanowania klienta i wysyłają tylko metadane, które są aktualizowane od tego czasu.

Jeśli klienci zmienią się na inny serwer usługi WSUS, który korzysta z innej bazy danych, muszą przeprowadzić pełne skanowanie. Pełne skanowanie może spowodować transfery dużego pakietu metadanych. W tych scenariuszach mogą wystąpić transfery większe niż 1 GB na klienta, zwłaszcza jeśli serwer usługi WSUS nie jest prawidłowo obsługiwany. Może to wygenerować wystarczające obciążenie, aby spowodować błędy, gdy klienci komunikują się z wystąpieniem usługi WSUS. Klienci ponawiają próbę wielokrotnie w tym przypadku.

Udostępnianie bazy danych oznacza, że gdy klient przełącza się do innego wystąpienia usługi WSUS korzystającego z tej samej bazy danych, nie jest naliczona kara skanowania. Wzrost obciążenia nie jest dużą karą, którą płacisz za przełączanie baz danych.

Skanowanie klienta programu Menedżer konfiguracji zwiększa zapotrzebowanie na usługę WSUS bardziej niż autonomiczne aktualizacje automatyczne. Program Menadżer konfiguracji, ponieważ obejmuje sprawdzanie zgodności, żąda skanów z kryteriami, które będą zwracać wszystkie aktualizacje, które są w dowolnym stanie, z wyjątkiem tych wcześniej odrzuconych.

Po przeskanowaniu przez Agenta aktualizacji automatycznych lub wybraniu opcji Sprawdź aktualizacje w Panel sterowania agent wysyła kryteria pobierania tylko tych aktualizacji, które są zatwierdzone do zainstalowania. Zwrócone metadane zwykle będą mniejsze niż w przypadku zainicjowania skanowania przez program Menadżer konfiguracji. Agent aktualizacji buforuje dane, a następne żądania skanowania zwracają dane z pamięci podręcznej klienta.

Wyłączanie odtwarzania i konfigurowanie limitów pamięci

Usługa WSUS implementuje wewnętrzną pamięć podręczną, która pobiera metadane aktualizacji z bazy danych. Ta operacja jest kosztowna i intensywnie obciąża pamięć. Może to spowodować, że pula aplikacji usług IIS hostująca usługę WSUS (znaną jako WSUSPool) będzie odtwarzana, gdy pula WSUSPool przekracza domyślne limity pamięci prywatnej i wirtualnej.

Po odtworzeniu puli pamięć podręczna jest usuwana i musi zostać ponownie utworzona. Nie jest to duży problem, gdy klienci przechodzą skanowanie różnicowe. Ale jeśli skończysz w scenariuszu burzy skanowania, pula będzie się stale odtwarzać. A klienci będą otrzymywać błędy podczas wykonywania żądań skanowania, takich jak błędy HTTP 503.

Zalecamy zwiększenie domyślnej długości kolejki i wyłączenie limitu pamięci wirtualnej i prywatnej przez ustawienie ich na wartość 0. Usługi IIS implementują automatyczne odtwarzanie puli aplikacji co 29 godzin, ping i limity czasu bezczynności, które powinny zostać wyłączone. Te ustawienia znajdują się w obszarzePule> aplikacji menedżera> usług IIS wybierz pozycję WsusPool, a następnie kliknij link Ustawienia zaawansowane w okienku po prawej stronie menedżera usług IIS.

Oto podsumowanie zalecanych zmian i powiązany z nimi zrzut ekranu. Aby uzyskać więcej informacji, zobacz artykuł Planowanie aktualizacji oprogramowania w programie Menadżer konfiguracji.

Nazwa ustawienia Value
Długość kolejki 2000 (w górę od wartości domyślnej 1000)
Limit czasu bezczynności (w minutach) 0 (w dół od wartości domyślnej 20)
Włączono polecenie Ping False (od wartości domyślnej True)
Limit pamięci prywatnej (KB) 0 (bez ograniczeń, w górę od wartości domyślnej 1 843 200 KB)
Regularny interwał czasu (minuty) 0 (aby zapobiec odtwarzaniu i zmodyfikować wartość domyślną 1740)

Zrzut ekranu przedstawiający ustawienia w oknie Zaawansowane ustawienia.

W środowisku z pamięcią podręczną około 17 000 aktualizacji może być potrzebnych ponad 24 GB pamięci, ponieważ pamięć podręczna jest kompilowana do momentu ustabilizowania się (przy około 14 GB).

Sprawdź, czy kompresja jest włączona (jeśli chcesz oszczędzać przepustowość)

Usługa WSUS używa tylko wywoływań typu kompresji kodowania Xpress. Implementuje kompresję metadanych aktualizacji i może spowodować znaczne oszczędności przepustowości.

Kodowanie Xpress jest włączone w pliku ApplicationHost.config usług IIS z tym wierszem w elemencie <httpCompression> i ustawieniu rejestru:

  • ApplicationHost.Config

    <scheme name="xpress" doStaticCompression="false" doDynamicCompression="true" dll="C:\Program Files\Update Services\WebServices\suscomp.dll" staticCompressionLevel="10" dynamicCompressionLevel="0" />

  • Klucz rejestru

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\IIsDynamicCompression

Jeśli oba te elementy nie są obecne, można ją włączyć, uruchamiając to polecenie, a następnie ponownie uruchamiając pulę aplikacji WsusPool w usługach IIS.

cscript "%programfiles%\update services\setup\DynamicCompression.vbs" /enable "%programfiles%\Update Services\WebServices\suscomp.dll"

Kodowanie Xpress spowoduje dodanie pewnych narzutów procesora CPU i może zostać wyłączone, jeśli przepustowość nie jest problemem, ale użycie procesora CPU jest. Następujące polecenie wyłączy to polecenie.

cscript "%programfiles%\update services\setup\DynamicCompression.vbs" /disable

Konfigurowanie produktów i kategorii

Podczas konfigurowania usługi WSUS wybierz tylko produkty i kategorie, które planujesz wdrożyć. Zawsze można synchronizować kategorie i produkty, które musisz mieć później. Dodanie ich, gdy nie planujesz ich wdrażania, zwiększa rozmiar metadanych i obciążenie serwerów usługi WSUS.

Wyłączanie aktualizacji itanium i innych niepotrzebnych aktualizacji

Nie powinno to już być problemem, ponieważ system Windows Server 2008 R2 był ostatnią wersją obsługującą architekturę itanium. Ale należy o tym wspomnieć.

Dostosuj ten skrypt i użyj go w środowisku, aby odrzucić aktualizacje architektury itanium. Skrypt może również odrzucać aktualizacje zawierające wersję Zapoznawczą lub Wersję beta w tytule aktualizacji.

Prowadzi to do tego, że konsola usługi WSUS jest bardziej responsywna, ale nie wpływa na skanowanie klienta.

Odrzuć zastąpione aktualizacje i uruchom proces konserwacji

Jedna z najważniejszych rzeczy, które można zrobić, aby pomóc usłudze WSUS działać lepiej. Utrzymywanie aktualizacji, które są zastępowane dłużej niż jest to konieczne (na przykład po ich wdrożeniu) jest główną przyczyną problemów z wydajnością usługi WSUS. Jeśli nadal je wdrażasz, możesz je zachować. Usuń je po zakończeniu pracy z nimi.

Aby uzyskać informacje na temat odrzucania zastąpionych aktualizacji i innych elementów konserwacji usługi WSUS, zobacz artykuł Kompletny przewodnik dotyczący konserwacji usług Microsoft WSUS i Punktu aktualizacji oprogramowania programu Menadżer konfiguracji.

Usługa WSUS z konfiguracją protokołu SSL

Domyślnie usługa WSUS nie jest skonfigurowana do używania protokołu SSL do komunikacji z klientem. Pierwszym krokiem po instalacji powinno być skonfigurowanie protokołu SSL dla usługi WSUS w celu upewnienia się, że zabezpieczenia są wdrożone w komunikacji serwer-klient.

Wykonaj jedną z następujących czynności:

  • Utwórz certyfikat z podpisem własnym. Nie jest to idealne rozwiązanie, ponieważ każdy klient musi ufać temu certyfikatowi.
  • Uzyskaj go od dostawcy certyfikatów innej firmy.
  • Uzyskaj go z wewnętrznej infrastruktury certyfikatów.

Certyfikat musi mieć krótką nazwę serwera, nazwę FQDN i nazwy sieci SAN (aliasy), przez które przechodzi.

Po zainstalowaniu certyfikatu uaktualnij zasady grupy (lub ustawienia konfiguracji klienta dla aktualizacji oprogramowania w programie Menadżer konfiguracji), aby użyć adresu i portu SSL serwera usługi WSUS. Jest to zazwyczaj port 8531 lub 443.

Na przykład skonfiguruj obiekt zasad grupy Określ lokalizację intranetowej usługi aktualizacji firmy Microsoft na wartość <https://wsus.contoso.com:8531>.

Aby rozpocząć, zobacz artykuł Zabezpieczanie usługi WSUS przy użyciu protokołu Secure Sockets Layer Protocol.

Konfigurowanie wykluczeń programu antywirusowego

Informacje o aktualizacjach zbiorczych i zestawieniach miesięcznych

Mogą zostać wyświetlone warunki Miesięcznych pakietów zbiorczych i Aktualizacji zbiorczych używanych do aktualizacji systemu operacyjnego Windows. Mogą być one używane zamiennie. Pakiety zbiorcze odnoszą się do aktualizacji opublikowanych dla systemów Windows 7, Windows 8.1, Windows Server 2008 R2 i Windows Server 2012 R2, które są tylko częściowo skumulowane.

Aby uzyskać więcej informacji, zapoznaj się z następującymi artykułami:

W przypadku systemu Windows 10 i Windows Server 2016 aktualizacje były skumulowane od samego początku:

"Zbiorcze" oznacza, że: instalujesz wstępną wersję systemu operacyjnego i musisz zastosować tylko najnowszą aktualizację zbiorczą, aby w pełni zastosować poprawkę. W przypadku starszych systemów operacyjnych nie mamy jeszcze takich aktualizacji, chociaż jest to kierunek, w którym zmierzamy.

W przypadku systemu Windows 7 i Windows 8.1 oznacza to, że po zainstalowaniu najnowszego miesięcznego pakietu zbiorczego nadal będą potrzebne kolejne aktualizacje. Oto przykład dla systemów Windows 7 i Windows Server 2008 R2 na temat tego, czego potrzeba, aby mieć prawie w pełni zabezpieczony system.

Poniższa tabela zawiera listę miesięcznych pakietów zbiorczych systemu Windows i aktualizacji zbiorczych. Można je również znaleźć, wyszukując historię aktualizacji wersji> systemu Windows<.

Wersje systemu Windows Aktualizacja
Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1 Historia aktualizacji systemu Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1
Windows 8.1 i Windows Server 2012 R2 Historia aktualizacji systemu Windows 8.1 i Windows Server 2012 R2
Windows 10 i Windows Server 2016 Historia aktualizacji systemu Windows 10 i Windows Server
Windows Server 2019 Historia aktualizacji systemu Windows 10 i Windows Server 2019

Innym punktem do rozważenia jest to, że nie wszystkie aktualizacje są publikowane, aby automatycznie synchronizować je z usługą WSUS. Na przykład tygodniowe aktualizacje zbiorcze C i D są aktualizacjami w wersji zapoznawczej i nie będą synchronizowane z usługą WSUS, ale zamiast tego muszą zostać zaimportowane ręcznie. Zobacz część Miesięczne aktualizacje jakości w artykule Windows 10 — cykl obsługi aktualizacji.

Nawiązywanie połączenia z serwerem WSUS przy użyciu programu PowerShell

Oto przykład kodu, który umożliwia rozpoczęcie pracy z programem PowerShell i interfejsem API usługi WSUS. Można go wykonać, gdy jest zainstalowana konsola administracyjna usługi WSUS.

[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$WSUSServer = 'WSUS'
# This is your WSUS Server Name
$Port = 8530
# This is 8531 when SSL is enabled
$UseSSL = $False
#This is $True when SSL is enabled
Try
{
    $Wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer($WSUSServer,$UseSSL,$Port)
}
Catch
{
    Write-Warning "$($WSUSServer)<$($Port)>: $($_)"
    Break
}

Informacje