System Windows 10 przestaje odpowiadać, gdy otrzymuje duży ruch sieciowy multiemisji UDP (ale nie ruch jednostkowy)


Przypadkowo stwierdziliśmy, że nasze maszyny z systemem Windows 10 (w wersji 1607 lub 1809) stają się powolne i/lub zaczynają się blokować, gdy przesyłamy do nich dużo ruchu multiemisji UDP. Dzieje się tak, gdy wysyłamy dużo ruchu mDNS (Bonjour), a wiele procesów nasłuchuje na porcie 5353.
Co może być przyczyną tego zachowania i dlaczego jest to typowe dla ruchu multiemisji?
Wymagania wstępne:
  • Wiele procesów nasłuchuje ruchu multiemisji UDP na danym porcie (na przykład port 5353)
  • Przychodzący ruch multiemisji z prędkością 30 Mb/s lub wyższą (prędkość zależy od liczby słuchaczy i mocy procesora maszyny odbierającej ruch).

Obserwacje:
  • Maszyna uruchamia się po krótkim okresie bezczynności (np. 20 sekund).
  • Wskaźnik myszy przestaje się poruszać lub zaczyna się zacinać, a na niektórych komputerach ekran nie jest odświeżany (przerysowywany).
  • Problem można odtworzyć na większości wypróbowanych przez nas urządzeń, ale nie na wszystkich. Wydaje się, że łatwiejsze do odtworzenia w systemie Windows 1809.
  • Wysyłanie wielu strumieni UDP unicast przy znacznie wyższych szybkościach transmisji danych nie pokazuje tego problemu (na przykład 5 strumieni z szybkością 100 Mb/s powoduje duże obciążenie procesora, ale maszyna pozostaje responsywna).
  • Przeprowadziliśmy podobny test, w którym wysyłaliśmy dużo ruchu multiemisji do tej samej maszyny, ale tym razem na maszynie działał Linux. Tutaj nie zaobserwowaliśmy żadnych awarii ani powolnego zachowania.
  • Przetestowaliśmy również system Windows 7, który również wydaje się być bardziej odporny na to.

Zaproszony:

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się