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
コメント