Linuxサーバーでネットワーク速度計測ツール! iperf

Linuxサーバーでネットワーク速度を計測する方法

linuxサーバーの場合、基本的にクライアントからサーバーへの速度がどれくらい出ているのか、帯域制限は掛かっていないかなどは、コマンドベースで計測することになります。ただ、iperfという便利なツールがあって、これを使うと、簡単にクライアントからサーバーへの通信速度を計測することができます。負荷がかかってサーバーの応答が遅いのに、サーバーのリソースはスカスカ、などの状態の時に、ネットワークがボトルネックになっているかの判定にぜひご活用ください。

iperfの導入

iprefはクライアントとサーバーの両方にインストールすることになります。残念ながら、CentOSの標準のYUMレポジトリには入っていません。ただ、CentOS6(64bit)用のRPMを私のYUMレポジトリにおいておきましたので、ご自由にご活用ください。

http://www.testvps.info/centos6/rpm/
(YUMレポジトリへの追加の方法は、野良YUMレポジトリを構築しましたの記事をご覧ください)

$ sudo yum install iperf

Macの場合は、brew installで普通に入ります。

$ brew install iperf

openSUSEの場合も標準のレポジトリに登録されていますので、Zypperでインストールできます。

$ sudo zypper install iperf

iperfでサーバーへの通信速度計測

まず、サーバーで以下のコマンドでiperfの待ち受けサーバーを立てます

$ iperf -s

これでサーバーからは5001ポートで待ち受け状態になります。ポートを変更したい場合は-pオプションで任意のポートに変えられます。サーバーのファイアウォールで該当ポートが開いていなかったら開放します。

次にクライアントから以下のコマンドで接続します。ホスト名は任意に変えてください(IPアドレスも可能です)

$ iperf -c www.geek.sc -p 5001

これで、少し待つとクライアントからサーバーへの通信速度が出てきます。

さくらVPSから自宅サーバーに速度計測を行った結果です。

$ iperf -c www.geek.sc -p 5001
------------------------------------------------------------
Client connecting to www.geek.sc, TCP port 5001
TCP window size: 22.7 KByte (default)
------------------------------------------------------------
[ 3] local 133.242.176.20 port 57046 connected with 180.131.119.243 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 114 MBytes 95.6 Mbits/sec

95.6Mbps出ていますね

ネットワークがボトルネックがどうか

回線速度はけっこう変動するので何回かテストしてみてください。その検証の結果、ネットワークの遅延が観測された場合には、クライアントからサーバーまでの何らかの経路にボトルネックが存在している可能性があります。負荷を掛けているのにサーバーのリソースがスカスカという場合は、設定が悪いか、ネットワークに問題がある場合が多いです。原因の切り分けにご活用ください。

2 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください