Hinzufügen einer simulierten Netzwerklatenz zu Ihrem Linux-Server
Installation
Innerhalb der aktuellen Linux-Distributionen gibt es eine Kernel-Komponente namens netem, die eine Netzwerkemulation hinzufügt und zum Testen und Simulieren der gleichen Arten von Problemen verwendet wird, die man in einem WAN (Wide Area Network) sehen würde. tc ist ein Befehl, mit dem man Regeln zu netem hinzufügen kann.
RedHat 8 / Oracle Linux Server 8:
Kernelmodul installieren:
lsmod | grep netem dnf install kernel-modules-extra install iproute-tc modprobe sch_netem
RedHat 7:
lsmod | grep netem yum install iproute modprobe sch_netem
Oracle Linux Server 7:
lsmod | grep netem yum install iproute-tc modprobe sch_netem
ubuntu:
Der tc-Befehl wird mit dem standardmäßig installierten iproute-Paket ausgeliefert; Wir müssen keine Pakete installieren, um tc zu verwenden.
apt-get install iproute2
Latenz hinzufügen
Um die Latenz Ihres Testziels zu bestimmen, können Sie einen einfachen Ping durchführen und die Umlaufzeit des Pings verwenden, um Ihre Netzwerklatenz zu bestimmen.
ping sv85-33
PING sv85-33.ui.net (10.1.85.33) 56(84) bytes of data.
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=1 ttl=63 time=0.571 ms
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=2 ttl=63 time=0.540 ms
Die durchschnittliche Latenzzeit zu sv85-33 beträgt 0.5 ms. Um eine Latenzzeit von 100 ms zu erreichen, muss ich 100 ms hinzufügen.
tc qdisc add dev eth0 root netem delay 100ms
Überprüfung der
delay rule
tc -s qdisc
qdisc netem 8004: dev eth0 root refcnt 65 limit 1000 delay 100ms
Sent 5876 bytes 48 pkt (dropped 0, overlimits 0 requeues 0)
backlog 206b 3p requeues 0
Wie Sie sehen können, wurde die 100-ms delay rule zu netem hinzugefügt
Test der delay rule
ping sv85-33
PING sv85-33.ui.net (10.1.85.33) 56(84) bytes of data.
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=1 ttl=63 time=100 ms
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=2 ttl=63 time=101 ms
Entfernen der Regel
Nachdem der Tests abgeschlossen wurde, kann die delay ruleauch mit dem tc-Befehl wieder entfernen.
tc qdisc del dev eth0 root netem
ping sv85-33
PING sv85-33.ui.net (10.1.85.33) 56(84) bytes of data.
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=1 ttl=63 time=0.504 ms
64 bytes from sv85-33.ui.net (10.1.85.33): icmp_seq=2 ttl=63 time=0.475 ms
Artikelaktionen