Testen der Netzwerkwartezeit zwischen Azure-VMs

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL, Ende der Lebensdauer) nähert. Sie sollten Ihre Nutzung und Planung darauf ausrichten.

In diesem Artikel wird beschrieben, wie Sie die Netzwerkwartezeit zwischen virtuellen Azure-Computern (VMs) mithilfe der öffentlich verfügbaren Tools Latte für Windows oder SockPerf für Linux testen.

Um die genauesten Ergebnisse zu erzielen, sollten Sie die VM-Netzwerkwartezeit mit einem Tool messen, das für die Aufgabe entwickelt wurde und andere Arten von Wartezeiten ausschließt, z. B. Anwendungswartezeit. Latte und SockPerf stellen die relevantesten Ergebnisse für Netzwerkwartezeit bereit, indem sie sich auf Datenverkehr für TCP (Transmission Control Protocol) und UDP (User Datagram Protocol) konzentrieren. Die meisten Anwendungen verwenden diese Protokolle, und dieser Datenverkehr hat die größte Auswirkung auf die Anwendungsleistung.

Viele andere gängige Testtools für Netzwerkwartezeit, z. B. Ping, messen TCP- oder UDP-Datenverkehr nicht. Tools wie Ping verwenden das Internet Control Message-Protokoll (ICMP), das von Anwendungen nicht verwendet wird. ICMP-Datenverkehr kann anders als Anwendungsdatenverkehr behandelt werden und wirkt sich nicht direkt auf die Anwendungsleistung aus. ICMP-Testergebnisse gelten nicht direkt für Workloads, die TCP und UDP verwenden.

Latte und SockPerf messen nur TCP- oder UDP-Zustellungszeiten für Nutzdaten. Diese Tools verwenden den folgenden Ansatz, um die Netzwerkwartezeit zwischen zwei physischen oder virtuellen Computern zu messen:

  1. Erstellen Sie einen bidirektionalen Kommunikationskanal zwischen den Computern, indem Sie einen als Sender und einen als Empfänger festlegen.
  2. Senden und empfangen Sie Pakete in beiden Richtungen, und messen Sie die Paketumlaufzeit (Round-Trip Time, RTT).

Tipps und bewährte Methoden zum Optimieren der Netzwerkwartezeit

Beachten Sie beim Erstellen der VMs die folgenden Empfehlungen, um VMs für die Netzwerkwartezeit zu optimieren:

Verwenden Sie die folgenden bewährten Methoden, um die Netzwerkwartezeit zu testen und zu analysieren:

  1. Sobald Sie die Bereitstellung, Konfiguration und Optimierung von Netzwerk-VMs abgeschlossen haben, führen Sie Baseline-Messungen der Netzwerkwartezeit zwischen bereitgestellten VMs durch, um Benchmarks zu erstellen.

  2. Testen Sie die Auswirkungen der Änderung einer der folgenden Komponenten auf die Netzwerkwartezeit:

    • Betriebssystem oder Netzwerkstapel-Software, einschließlich Konfigurationsänderungen
    • VM-Bereitstellungsmethode, z. B. Bereitstellung in einer Verfügbarkeitszone oder Näherungsplatzierungsgruppe (Proximity Placement Group, PPG).
    • VM-Eigenschaften, z. B. beschleunigter Netzwerkbetrieb oder Größenänderungen
    • Konfiguration des virtuellen Netzwerks, z. B. Routing- oder Filteränderungen.
  3. Vergleichen Sie neue Testergebnisse immer mit der Baseline oder mit den letzten Testergebnissen, bevor sie kontrollierte Änderungen vornehmen.

  4. Wiederholen Sie Tests, wenn Sie Änderungen beobachten oder bereitstellen.

Testen von VMs mit Latte oder SockPerf

Verwenden Sie die folgenden Verfahren, um die Netzwerkwartezeit mit Latte für Windows oder SockPerf für Linux zu installieren und zu testen.

Installieren von Latte und Konfigurieren von VMs

  1. Laden Sie die aktuelle Version von latte.exe auf beide VMs in einen separaten Ordner herunter, z. B. c:\tools.

  2. Erstellen Sie auf der Empfänger-VM eine allow-Regel in der Windows Defender-Firewall, damit der Latte-Datenverkehr empfangen werden kann. Es ist einfacher, das Programm latte.exe namentlich zuzulassen, als bestimmte eingehende TCP-Ports zuzulassen. Ersetzen Sie im Befehl den <path>-Platzhalter durch den Pfad, in den Sie latte.exe heruntergeladen haben, z. B. c:\tools\.

    netsh advfirewall firewall add rule program=<path>latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY
    

Ausführen von Latte auf den VMs

Führen Sie latte.exe über die Windows-Befehlszeile und nicht über PowerShell aus.

  1. Führen Sie auf der Empfänger-VM den folgenden Befehl aus, und ersetzen Sie dabei die Platzhalter <receiver IP address>, <port> und <iterations> durch Ihre eigenen Werte.

    latte -a <receiver IP address>:<port> -i <iterations>
    
    • Rund 65 000 Iterationen reichen aus, um repräsentative Ergebnisse zu erhalten.
    • Jede verfügbare Portnummer ist in Ordnung.

    Das folgende Beispiel zeigt den Befehl für eine VM mit der IP-Adresse 10.0.0.4:

    latte -a 10.0.0.4:5005 -i 65100

  2. Führen Sie auf der Sender-VM den gleichen Befehl wie auf dem Empfänger aus, jedoch mit dem Zusatz -c, um den Client oder die Sender-VM anzugeben. Ersetzen Sie auch hier die Platzhalter <receiver IP address>, <port> und <iterations> durch Ihre eigenen Werte.

    latte -c -a <receiver IP address>:<port> -i <iterations>
    

    Beispiel:

    latte -c -a 10.0.0.4:5005 -i 65100

  3. Warten Sie auf die Ergebnisse. Je nach Entfernung der VMs voneinander kann es einige Minuten dauern, bis der Test abgeschlossen ist. Erwägen Sie, mit weniger Iterationen zu beginnen, um den Erfolg zu testen, bevor Sie längere Tests durchführen.

Nächste Schritte