netperf で測定するためのファイアウォール設定と実行オプション

ALL
スポンサーリンク

netperf を実行する場合の、ファイアウォール設定と netperfに指定するオプションの説明です。
また、どうもnetperfのバージョンがサーバー・クライアントで異なると、測定できないことがあるようです。
ここではソースコードから netperf をビルドして使用します。

netperf用意(サーバー・クライアント両方)

サーバー・クライアントで netperf のバージョンをそろえるためには、ソースをダウンロード・ビルドして実行する方が確実です。
下記を実行します。
システムへのインストールまでは行いませんが、netperf を実行できます。

wget https://github.com/HewlettPackard/netperf/archive/refs/tags/netperf-2.7.0.tar.gz
tar zxvf netperf-2.7.0.tar.gz
cd netperf-netperf-2.7.0
./configure
make
cd src

システムへインストールする場合は、cd src の前に make install してください。

サーバー

12865,12866番ポートを空けておきます。
iptables の場合は次のようにすると、ルールの先頭に追加できます。

sudo iptables -I INPUT -p tcp --dport 12865 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 12866 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 12865 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 12866 -j ACCEPT

サーバー機能を実行します。

./netserver

実行すると、すぐに次の表示が出ます。
サーバー(netserver)はバックグラウンドで動作します。

Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

次の表示が出た場合は、すでに netserver が動作しています。

Unable to start netserver with  'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC

これでサーバーは動作します。
後はクライアントで netperf を実行します。

なお、動作している netserver を終了させ場合は次のコマンドを実行します。

sudo killall netserver

クライアント

次のように、「-p 12865 — -P 12866」 をつけて実行します。
xx.xx.xx.xx はサーバのIPアドレスです。

./netperf -H xx.xx.xx.xx -p 12865 -- -P 12866

少し待つと結果が表示されます。

MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 12866 AF_INET to xx.xx.xx.xx () port 12866 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec
 87380  16384  16384    10.45      43.79

その他、netperf でいろいろなオプションを指定する場合です。

次のような場合は、

netperf -H xx.xx.xx.xx -t TCP_RR -- -o min_latency,max_latency,mean_latency

次のように、「–」の前側と後ろ側で分けて「-p 12865」と「-P 12866」を指定します。

netperf -H xx.xx.xx.xx -t TCP_RR -p 12865 -- -o min_latency,max_latency,mean_latency -P 12866

なお、netperf のオプションで指定している「–」は、グローバルオプションとテスト用オプションの区切りです。
グローバルオプションは下記を参照してください。
テスト用オプションは、グローバルオプションの -t で指定するテスト毎に異なります。

netperf(1): network performance benchmark – Linux man page

参考

ネットワーク性能のテスト | Tencent Cloud
netperfでネットワーク性能測定 – 四苦Hackな日々
netperf(1): network performance benchmark – Linux man page

コメント