内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
01_linux
»
01_net
»
tcで帯域制限
トレース:
01_linux:01_net:tcで帯域制限
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== tcで帯域制限 ====== 発信帯域を制限できる。 [[01_linux:01_net:nicのスピード変更_ethtool|NICのスピード変更(ethtool)]]では、NIC自体のスピードを変更できる。 ====== 10Mに制限 ====== bitで指定 <code console> tc qdisc add dev eth0 root tbf limit 15Kb buffer 10Kb/8 rate 10Mbit </code> ====== 確認コマンド ====== <code console> tc qdisc show qdisc tbf 8002: dev eth0 rate 50000Kbit burst 10Kb lat 819us </code> ====== 制限を削除 ====== <code console> tc qdisc delete dev eth0 root tbf </code> ====== 例 ====== bpsでも指定できる。 <code console> tc qdisc add dev eth0 root tbf limit 15Kb buffer 10Kb/8 rate 10Mbps tc qdisc show qdisc tbf 8004: dev eth0 rate 80000Kbit burst 10Kb lat 512us </code> 30MBitに変更制限する場合 <code> tc qdisc change dev rkm5w03y7gq3pv root tbf rate 30mbit latency 50ms burst 1mb [root@hv9142 ~]# tc qdisc | grep rkm5w03y7gq3pv qdisc tbf 8018: dev rkm5w03y7gq3pv rate 30000Kbit burst 1024Kb lat 50.0ms </code> ====== 検証 ====== tc は/proc/net/devで見た時のTransmit(アウトバウンド)にしかかからない。 <color red>※HV上から仮想インターフェースにtcを書ける場合、仮想インターフェースのTransmit(VMからみるとインバウンド)にかけることになる。</color> [[http://www.atmarkit.co.jp/ait/articles/0803/18/news147_3.html|参考サイト]] ===== 普通のサーバ ===== === 何も制限をかけてない場合 === <code> # i=bond0 # while : ; do _T1=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); \ > sleep 1; _T2=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); \ > echo "$(expr \( \( $_T2 - $_T1 \) \* 8 \) \/ 1024 ) kbps"; done 14 kbps 5 kbps 47177 kbps 204251 kbps 204287 kbps 204298 kbps 204369 kbps 204417 kbps 138687 kbps </code> === 10Mbpsで制限をかけた場合 === <code> # tc qdisc add dev bond0 root tbf rate 10mbit latency 50ms burst 1mb mtu 33000 # tc qdisc | grep bond0 qdisc tbf 800a: dev bond0 rate 10000Kbit burst 1024Kb lat 50.0ms # i=bond0 # while : ; do _T1=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); sleep 1; _T2=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); echo "$(expr \( \( $_T2 - $_T1 \) \* 8 \) \/ 1024 ) kbps"; done 11572 kbps 11590 kbps 11579 kbps 11566 kbps 11578 kbps 11566 kbps 11566 kbps </code> ===== 仮想VM(HV上から仮想インターフェースへかける) ===== === 制限なし === <code> # i=nxiort3mfzk3mq # while : ; do _T1=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); sleep 1; _T2=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); echo "$(expr \( \( $_T2 - $_T1 \) \* 8 \) \/ 1024 ) kbps"; done 98837 kbps 98661 kbps 98789 kbps 98711 kbps 98765 kbps 98666 kbps 98790 kbps 98779 kbps 98708 kbps 98803 kbps 98660 kbps </code> === 1Mに制限した場合 === <code> tc qdisc change dev nxiort3mfzk3mq root tbf rate 100mbit latency 50ms burst 1mb mtu 33000 # i=nxiort3mfzk3mq # while : ; do _T1=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); sleep 1; _T2=$( grep $i: /proc/net/dev | cut -d: -f 2|awk '{print $9}'); echo "$(expr \( \( $_T2 - $_T1 \) \* 8 \) \/ 1024 ) kbps"; done 1157 kbps 1157 kbps 1157 kbps 1157 kbps 1157 kbps 1157 kbps 1162 kbps </code> {{tag>tc 帯域}}
01_linux/01_net/tcで帯域制限.txt
· 最終更新: 2016/07/08 01:04 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ