Testowanie opóźnienia sieci między maszynami wirtualnymi platformy Azure
W tym artykule opisano sposób testowania opóźnienia sieci między maszynami wirtualnymi platformy Azure przy użyciu publicznie dostępnych narzędzi Latte dla systemu Windows lub SockPerf dla systemu Linux.
Aby uzyskać najdokładniejsze wyniki, należy zmierzyć opóźnienie sieci maszyn wirtualnych za pomocą narzędzia przeznaczonego dla zadania i wykluczać inne typy opóźnień, takie jak opóźnienie aplikacji. Funkcja Latte i SockPerf zapewniają najbardziej odpowiednie wyniki opóźnienia sieci, koncentrując się na ruchu protokołu TCP (Transmission Control Protocol) i protokołu UDP (User Datagram Protocol). Większość aplikacji korzysta z tych protokołów, a ten ruch ma największy wpływ na wydajność aplikacji.
Wiele innych typowych narzędzi do testowania opóźnienia sieci, takich jak ping, nie mierzy ruchu TCP ani UDP. Narzędzia, takie jak ping, używają protokołu ICMP (Internet Control Message Protocol), którego nie używają aplikacje. Ruch ICMP może być traktowany inaczej niż ruch aplikacji i nie ma bezpośredniego wpływu na wydajność aplikacji. Wyniki testu ICMP nie mają bezpośredniego zastosowania do obciążeń korzystających z protokołów TCP i UDP.
Latte i SockPerf mierzy tylko czas dostarczania ładunku TCP lub UDP. Te narzędzia używają następującego podejścia do mierzenia opóźnienia sieci między dwoma komputerami fizycznymi lub wirtualnymi:
- Utwórz dwukierunkowy kanał komunikacyjny między komputerami, określając jeden jako nadawcę i jeden jako odbiorcę.
- Wysyłanie i odbieranie pakietów w obu kierunkach i mierzenie czasu rundy (RTT).
Porady i najlepsze rozwiązania dotyczące optymalizowania opóźnienia sieci
Aby zoptymalizować maszyny wirtualne pod kątem opóźnienia sieci, podczas tworzenia maszyn wirtualnych należy przestrzegać następujących zaleceń:
- Użyj najnowszej wersji systemu Windows lub Linux.
- Włącz przyspieszoną sieć w celu zwiększenia wydajności.
- Wdrażanie maszyn wirtualnych w grupie umieszczania w pobliżu platformy Azure.
- Tworzenie większych maszyn wirtualnych w celu uzyskania lepszej wydajności.
Skorzystaj z poniższych najlepszych rozwiązań, aby przetestować i przeanalizować opóźnienie sieci:
Po zakończeniu wdrażania, konfigurowania i optymalizowania maszyn wirtualnych sieci wykonaj podstawowe pomiary opóźnień sieci między wdrożoną maszyną wirtualną w celu ustanowienia testów porównawczych.
Przetestuj wpływ na opóźnienie sieci, zmieniając dowolny z następujących składników:
- System operacyjny lub oprogramowanie stosu sieciowego, w tym zmiany konfiguracji.
- Metody wdrażania maszyn wirtualnych, takie jak wdrażanie w strefie dostępności lub grupa umieszczania w pobliżu (PPG).
- Właściwości maszyny wirtualnej, takie jak przyspieszona sieć lub zmiany rozmiaru.
- Konfiguracja sieci wirtualnej, taka jak routing lub zmiany filtrowania.
Zawsze porównaj nowe wyniki testu z punktem odniesienia lub z najnowszymi wynikami testu przed kontrolowanymi zmianami.
Powtarzaj testy za każdym razem, gdy obserwujesz lub wdrażasz zmiany.
Testowanie maszyn wirtualnych za pomocą narzędzia Latte lub SockPerf
Użyj poniższych procedur, aby zainstalować i przetestować opóźnienie sieci za pomocą funkcji Latte dla systemu Windows lub SockPerf dla systemu Linux.
Instalowanie środowiska Latte i konfigurowanie maszyn wirtualnych
Pobierz najnowszą wersję latte.exe do obu maszyn wirtualnych i umieść ją w osobnym folderze, takim jak c:/tools.
Na maszynie wirtualnej odbiorcy utwórz regułę zapory
allow
Windows Defender, aby zezwolić na dotarcie ruchu Latte. Łatwiej jest zezwolić na program latte.exe według nazwy niż zezwalać na określone porty TCP dla ruchu przychodzącego. W poleceniu zastąp<path>
symbol zastępczy ścieżką pobraną latte.exe , na przykład c:\tools\.netsh advfirewall firewall add rule program=<path>latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY
Uruchamianie narzędzia Latte na maszynach wirtualnych
Uruchom latte.exe z wiersza polecenia systemu Windows, a nie z programu PowerShell.
Na maszynie wirtualnej odbiorcy uruchom następujące polecenie, zastępując
<receiver IP address>
symbole zastępcze ,<port>
i<iterations>
własnymi wartościami.latte -a <receiver IP address>:<port> -i <iterations>
- Około 65 000 iteracji wystarczy, aby zwrócić reprezentatywne wyniki.
- Dowolny dostępny numer portu jest odpowiedni.
W poniższym przykładzie pokazano polecenie dla maszyny wirtualnej z adresem IP :
10.0.0.4
latte -a 10.0.0.4:5005 -i 65100
Na maszynie wirtualnej nadawcy uruchom to samo polecenie co w odbiorniku, z wyjątkiem polecenia
-c
dodanego, aby wskazać maszynę wirtualną klienta lub nadawcy. Ponownie zastąp<receiver IP address>
symbole zastępcze ,<port>
i<iterations>
własnymi wartościami.latte -c -a <receiver IP address>:<port> -i <iterations>
Na przykład:
latte -c -a 10.0.0.4:5005 -i 65100
Poczekaj na wyniki. W zależności od tego, jak daleko są maszyny wirtualne, test może potrwać kilka minut. Rozważ rozpoczęcie od mniejszej liczby iteracji, aby przetestować powodzenie przed uruchomieniem dłuższych testów.
Następne kroki
- Zmniejsz opóźnienie dzięki grupie umieszczania w pobliżu platformy Azure.
- Optymalizowanie przepływności sieci dla maszyn wirtualnych platformy Azure.
- Przydziel przepustowość sieci maszyny wirtualnej.
- Testowanie przepustowości i przepływności.
- Aby uzyskać więcej informacji na temat sieci wirtualnej platformy Azure, zobacz Często zadawane pytania dotyczące usługi Azure Virtual Network.