Die Verwendung von cgroup & tc in Linux scheint NICHT genau meinen Raten zu entsprechen: 10-fache Diskrepanz

Die Verwendung von cgroup & tc in Linux scheint NICHT genau meinen Raten zu entsprechen: 10-fache Diskrepanz

Ich verwende die „Standardmethode“, die ich überall im Internet (einschließlich ServerFault) gefunden habe, um zu versuchen, die Bandbreite eines Prozesses mithilfe von cgroups und tc zu begrenzen.

Was ich in der Praxis sehe, ist, dass die von mir festgelegten Grenzwerte tcin der Praxis etwa zehnmal höher sind, siehe diesen Screenshot:

Bildbeschreibung hier eingeben

Ich habe rateund ceilauf 100 kbit (NICHT 100 kbps) eingestellt, daher erwarte ich, dass mein wget unten etwa 10 Kilobyte pro Sekunde anzeigt. Stattdessen sehe ich 500 kBps.

Wenn ich meine HTP-Rate auf 100 aktualisierekbps(100 Kilobyte pro Sekunde) Ich sehe, wie meine Rate auf 10 hochschießtMegabyte/Sekunde, das ist 100-mal mehr:

tc class change dev ens3 classid 1:1 htb rate 100kbps

# the curl in the other terminal now shoots up to 9.6MB/s
image.iso.1    53%[================>                ] 346,72M  **9,48MB/s**    tps 49s

Ich verstehe nicht, warum das nicht mit meiner HTB-Konfiguration übereinstimmt. Haben Sie eine Idee, was ich falsch mache?

Antwort1

Mit tc regulieren Sie die Upload-Geschwindigkeit. Mit wget testen Sie die Download-Geschwindigkeit. In Ihrem Test regulieren Sie die von Ihrem Client gesendete TCP-ACK, sodass wir davon ausgehen können, dass das Verhältnis Daten/ACK in Ihrem Fall 1:100 beträgt.

Sie können die Download-Geschwindigkeit anpassen, indem Sie die eingehenden Datenströme mit TC auf eine IFB-Schnittstelle umleiten und diese anpassen.HierSie haben ein Beispiel, wie es geht.

verwandte Informationen