GNU/Linux >> Linux の 問題 >  >> Linux

Linux で送受信の帯域幅と遅延を制限する

解決策 1:

最終的には、サーバーで発信帯域幅/レイテンシーを設定し、クライアントで同じことを行って、効果的に同じ結果に到達することに落ち着きました.

これらは、目標を達成するためにサーバーとクライアントでそれぞれ実行したコマンドです:

サーバー:4 メガビット 50 ミリ秒

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

クライアント:512 キロビット 50 ミリ秒

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

解決策 2:

約 80 ~ 90 kByte / s が期待値です

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

着信データが 1 mBit/s で到着したときに破棄するように要求します。これは約 125 kByte/s です。その後、リモートサーバーはそれよりもかなり低くなります(おそらく半分、確かではありません)。その後、すべてのパケットが通過するため、リモート エンドはゆっくりと速度を上げていき、再び 125 kByte/s に到達します。 平均を取得します イングレス シェーピングの典型である 125 kByte/s を大幅に下回るスループット。

イングレス ポリシー フィルターが既に適用されている状態で速度が 2 MByte/s に達することに少し驚いています。下流のクライアント (プログラム) または上流のルーターのどこで測定しましたか?それとも、最初に接続を開始し、その後でイングレス ポリシー フィルターを適用したのではありませんか?


Linux
  1. Linux IPTables:着信および発信ルールの例 (SSH および HTTP)

  2. CentOS / RHEL :iptables を使用して受信ポートと送信ポートをブロックする方法

  3. Linux で rsync 転送速度を制限/調整する方法

  1. Linux – SysfsとDevtmpfs?

  2. Linux – Unix / linux Osesの標準および/または共通ディレクトリ?

  3. Linux ファイルとディレクトリの削除

  1. Linuxコマンド:jobs、bg、およびfg

  2. bash および Linux カーネルでの Shebang 行の制限

  3. cp および mv での Linux ワイルドカードの使用