概要
クラウド上にいるサーバーのネットワークの使用量をある程度キャップしたい。
バージョン情報
- wondershaper 1.1a-9
- Ubuntu 18.04.2
導入
$ sudo apt install wondershaper
制限をかける
wondershaperで制限をかける際の文法は下記。
wondershaper [interface] [downlink] [uplink]
インターフェース名を指定して、inboundとoutboundの制限を書く。単位はキロビット/秒。
100kilobit/sくらい(けっこう狭い)を指定してみる。
$ sudo wondershaper eth0 100 100
この状態でscpで何か重いファイルをscpしてみる。
$ scp big_file.gz server: big_file.gz 28% 35MB 40.6KB/s 35:48
40.6KB/sになった。100kilobit/sec = 12.5KB/sのはずなのでちょっとズレがあるけど、多分scpの表示の問題。実際のアップロードにかかる時間は12.5KB/sに近い値になっていた。
制限を解除する
制限を解除する際の文法は下記。
$ sudo wondershaper clear eth0
解除を実行する。
$ sudo wondershaper clear eth0
同じファイルをscpしてみる。
$ scp big_file.gz server: big_file.gz 100% 120MB 14.1MB/s 00:08
14.1MB/s。制限がなければこれくらいは出る環境で実行している。
起動時に制限を実行
/etc/network/interfaces に書き加えたりsystemctlに入れて自動起動するようにする等の方法があるようだけど、適当に /etc/rc.local に下記の行を追加して済ませた。
wondershaper eth0 100 100
改定履歴
Author: Masato Watanabe, Date: 2019-05-06 記事投稿