GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Begrenzen Sie die ein- und ausgehende Bandbreite und Latenz in Linux

Lösung 1:

Ich habe mich schließlich dafür entschieden, nur die ausgehende Bandbreite/Latenz auf dem Server einzustellen und dann das Gleiche auf dem Client zu tun, wodurch ich effektiv das gleiche Ergebnis erreiche.

Dies sind die Befehle, die ich auf dem Server bzw. Client ausgeführt habe, um meine Ziele zu erreichen:

Server:4 Mbit 50 ms

tc qdisc add dev eth0 handle 1: root htb default 11
tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 4Mbit
tc qdisc add dev eth0 parent 1:11 handle 10: netem delay 50ms

Client:512 kbit 50 ms

tc qdisc add dev vmnet1 handle 1: root htb default 11
tc class add dev vmnet1 parent 1: classid 1:1 htb rate 1000Mbps
tc class add dev vmnet1 parent 1:1 classid 1:11 htb rate 512kbit
tc qdisc add dev vmnet1 parent 1:11 handle 10: netem delay 50ms

Lösung 2:

Etwa 80-90 kByte / s ist ungefähr das, was Sie erwarten können

    tc filter add ... police rate 1.0mbit ...

Sie verlangen, dass eingehende Daten weggeworfen werden, wenn sie bei 1 mBit / s ankommen, das sind ungefähr 125 kByte / s. Der Remote-Server fällt dann auf einen erheblich niedrigeren Wert (vielleicht die Hälfte, nicht sicher). Danach kommen alle Pakete durch, sodass die Gegenseite langsam Fahrt aufnimmt, bis wieder 125 kByte/s erreicht sind. Sie erhalten einen Durchschnitt Durchsatz deutlich unter 125 kByte/s, was typisch für Ingress Shaping ist.

Ich bin etwas überrascht, dass die Geschwindigkeit 2 MByte / s erreichen sollte, wenn der Ingress-Policy-Filter bereits vorhanden ist. Wo haben Sie gemessen - am Downstream-Client (Programm) oder an einem Upstream-Router? Oder haben Sie vielleicht zuerst die Verbindung gestartet und erst danach den Ingress-Richtlinienfilter aktiviert?


Linux
  1. Linux-Befehle:jobs, bg und fg

  2. Linux – Sysfs und Devtmpfs?

  3. Linux – Standard- und/oder gemeinsame Verzeichnisse auf Unix/Linux-Betriebssystemen?

  4. Linux Dateien und Verzeichnisse löschen

  5. Shebang-Zeilenbegrenzung in Bash und Linux-Kernel

vnStat – Netzwerkbandbreite in Linux und BSD überwachen

Installieren und konfigurieren Sie Ansible unter Linux

Installieren und Konfigurieren von Jenkins unter Linux

Überwachung der Bandbreite unter Linux mit Nethogs

Überblick über RAMFS und TMPFS unter Linux

So begrenzen Sie die rsync-Geschwindigkeit und die Bandbreitennutzung mit –bwlimit