Auf Englisch lesen

Freigeben über


Testen der Netzwerkwartezeit zwischen Azure-VMs

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-Bereitstellungsmethoden wie die 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.

Vorbereiten der VMs

Führen Sie sowohl auf der Sender- aus auch der Empfänger-Linux-VM je nach Ihrer Linux-Distribution die folgenden Befehle aus, um SockPerf vorzubereiten.

  • Red Hat Enterprise Linux (RHEL):

    #RHEL - Install Git and other helpful tools
    sudo yum install gcc -y -q
    sudo yum install git -y -q
    sudo yum install gcc-c++ -y
    sudo yum install ncurses-devel -y
    sudo yum install -y automake
    sudo yum install -y autoconf
    sudo yum install -y libtool
    
  • Ubuntu:

    #Ubuntu - Install Git and other helpful tools
    sudo apt-get install build-essential -y
    sudo apt-get install git -y -q
    sudo apt-get install -y autotools-dev
    sudo apt-get install -y automake
    sudo apt-get install -y autoconf
    sudo apt-get install -y libtool
    sudo apt update
    sudo apt upgrade
    
  • SUSE:

    #SUSE - Install Git and other helpful tools
    sudo zypper install gcc
    sudo zypper install git
    sudo zypper install gcc-c++
    sudo zypper install ncurses-devel
    sudo zypper install automake
    sudo zypper install autoconf
    sudo zypper install libtool
    sudo zypper install make
    

Kopieren, Kompilieren und Installieren von SockPerf

Kopieren, kompilieren und installieren Sie SockPerf, indem Sie die folgenden Befehle ausführen:

#Bash - all distros

#From bash command line (assumes Git is installed)
git clone https://github.com/mellanox/sockperf
cd sockperf/
./autogen.sh
./configure --prefix=

#make is slow, may take several minutes
make

#make install is fast
sudo make install

Ausführen von SockPerf auf den virtuellen Computern

  1. Nachdem die SockPerf-Installation abgeschlossen ist, starten Sie SockPerf auf der Empfänger-VM. Jede verfügbare Portnummer ist in Ordnung. Im folgenden Beispiel wird Port 12345 verwendet. Ersetzen Sie die IP-Beispieladresse 10.0.0.4 durch die IP-Adresse Ihrer Empfänger-VM.

    #Server/Receiver for IP 10.0.0.4:
    sudo sockperf sr --tcp -i 10.0.0.4 -p 12345
    
  2. Nachdem der Empfänger nun lauscht, führen Sie den folgenden Befehl auf dem Sender oder Clientcomputer aus, um Pakete an den Empfänger über den lauschenden Port zu senden, in diesem Fall 12345.

    #Client/Sender for IP 10.0.0.4:
    sockperf ping-pong -i 10.0.0.4 --tcp -m 350 -t 101 -p 12345 --full-rtt
    
    • Die -t-Option legt die Testzeit in Sekunden fest. Rund 100 Sekunden reichen aus, um repräsentative Ergebnisse zu erhalten.
    • Das -m gibt die Nachrichtengröße in Bytes an. Eine Nachrichtengröße von 350 Byte ist typisch für ein durchschnittliches Paket. Sie können die Größe anpassen, um die Workloads Ihrer VM genauer darzustellen.
  3. Warten Sie auf die Ergebnisse. Abhängig von der Entfernung der VMs zueinander variiert die Anzahl der Iterationen. Um die erfolgreiche Durchführung zu testen, bevor Sie längere Tests durchführen, sollten Sie mit kürzeren Tests von etwa fünf Sekunden beginnen.

Nächste Schritte