ablog

不器用で落着きのない技術者のメモ

Amazon Linux 2 で iperf でネットワークスループットを計測する

インストール

  • iperf
sudo yum -y install git gcc
git clone https://github.com/esnet/iperf
cd iperf
./configure
sudo make
sudo make install
sudo ldconfig
  • nethogs
sudo yum -y install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*
git clone https://github.com/raboof/nethogs
cd nethogs
make
sudo make install
  • 性能モニタリングツール
sudo yum -y install htop dstat perf

計測

iperf
  • サーバ側
iperf3 -s
  • クライアント側
iperf3 -c 172.**.**.36 -P 32 -t 1800 -i 60
nethogs
sudo /usr/local/sbin/nethogs
sar
sar -n DEV 10

計測結果

  • CloudWatch メトリクス
    • 約90GB/分= 90 / 60 = 1.5GB/s = 1.5 * 8 = 12Gbps

f:id:yohei-a:20201129165309p:plain
f:id:yohei-a:20201129194929p:plain

  • iperf
$ iperf3 -c 172.**.**.36 -P 32 -t 1800 -i 60
(中略)
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-1800.00 sec  65.3 GBytes   312 Mbits/sec    0             sender
[  5]   0.00-1800.00 sec  65.3 GBytes   312 Mbits/sec                  receiver
[  7]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec    0             sender
[  7]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec                  receiver
[  9]   0.00-1800.00 sec   138 GBytes   659 Mbits/sec    0             sender
[  9]   0.00-1800.00 sec   138 GBytes   659 Mbits/sec                  receiver
[ 11]   0.00-1800.00 sec  64.0 GBytes   306 Mbits/sec    0             sender
[ 11]   0.00-1800.00 sec  64.0 GBytes   306 Mbits/sec                  receiver
[ 13]   0.00-1800.00 sec  62.7 GBytes   299 Mbits/sec    0             sender
[ 13]   0.00-1800.00 sec  62.7 GBytes   299 Mbits/sec                  receiver
[ 15]   0.00-1800.00 sec   144 GBytes   688 Mbits/sec    0             sender
[ 15]   0.00-1800.00 sec   144 GBytes   688 Mbits/sec                  receiver
[ 17]   0.00-1800.00 sec   112 GBytes   535 Mbits/sec    0             sender
[ 17]   0.00-1800.00 sec   112 GBytes   535 Mbits/sec                  receiver
[ 19]   0.00-1800.00 sec  59.7 GBytes   285 Mbits/sec    0             sender
[ 19]   0.00-1800.00 sec  59.7 GBytes   285 Mbits/sec                  receiver
[ 21]   0.00-1800.00 sec   111 GBytes   531 Mbits/sec    0             sender
[ 21]   0.00-1800.00 sec   111 GBytes   531 Mbits/sec                  receiver
[ 23]   0.00-1800.00 sec  29.9 GBytes   143 Mbits/sec    0             sender
[ 23]   0.00-1800.00 sec  29.9 GBytes   143 Mbits/sec                  receiver
[ 25]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec    0             sender
[ 25]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec                  receiver
[ 27]   0.00-1800.00 sec  94.4 GBytes   451 Mbits/sec    0             sender
[ 27]   0.00-1800.00 sec  94.4 GBytes   451 Mbits/sec                  receiver
[ 29]   0.00-1800.00 sec   113 GBytes   538 Mbits/sec    0             sender
[ 29]   0.00-1800.00 sec   113 GBytes   538 Mbits/sec                  receiver
[ 31]   0.00-1800.00 sec   105 GBytes   499 Mbits/sec    0             sender
[ 31]   0.00-1800.00 sec   105 GBytes   499 Mbits/sec                  receiver
[ 33]   0.00-1800.00 sec   113 GBytes   539 Mbits/sec    0             sender
[ 33]   0.00-1800.00 sec   113 GBytes   539 Mbits/sec                  receiver
[ 35]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec    0             sender
[ 35]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec                  receiver
[ 37]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec    0             sender
[ 37]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec                  receiver
[ 39]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec    0             sender
[ 39]   0.00-1800.00 sec  64.7 GBytes   309 Mbits/sec                  receiver
[ 41]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec    0             sender
[ 41]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec                  receiver
[ 43]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec    0             sender
[ 43]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec                  receiver
[ 45]   0.00-1800.00 sec  60.2 GBytes   287 Mbits/sec    0             sender
[ 45]   0.00-1800.00 sec  60.2 GBytes   287 Mbits/sec                  receiver
[ 47]   0.00-1800.00 sec  60.2 GBytes   287 Mbits/sec    0             sender
[ 47]   0.00-1800.00 sec  60.2 GBytes   287 Mbits/sec                  receiver
[ 49]   0.00-1800.00 sec   112 GBytes   533 Mbits/sec    0             sender
[ 49]   0.00-1800.00 sec   112 GBytes   533 Mbits/sec                  receiver
[ 51]   0.00-1800.00 sec   120 GBytes   572 Mbits/sec    0             sender
[ 51]   0.00-1800.00 sec   120 GBytes   572 Mbits/sec                  receiver
[ 53]   0.00-1800.00 sec  96.2 GBytes   459 Mbits/sec    0             sender
[ 53]   0.00-1800.00 sec  96.2 GBytes   459 Mbits/sec                  receiver
[ 55]   0.00-1800.00 sec  60.0 GBytes   286 Mbits/sec    0             sender
[ 55]   0.00-1800.00 sec  60.0 GBytes   286 Mbits/sec                  receiver
[ 57]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec    0             sender
[ 57]   0.00-1800.00 sec  59.9 GBytes   286 Mbits/sec                  receiver
[ 59]   0.00-1800.00 sec  96.5 GBytes   461 Mbits/sec    0             sender
[ 59]   0.00-1800.00 sec  96.5 GBytes   461 Mbits/sec                  receiver
[ 61]   0.00-1800.00 sec  59.8 GBytes   285 Mbits/sec    0             sender
[ 61]   0.00-1800.00 sec  59.8 GBytes   285 Mbits/sec                  receiver
[ 63]   0.00-1800.00 sec  60.1 GBytes   287 Mbits/sec    0             sender
[ 63]   0.00-1800.00 sec  60.1 GBytes   287 Mbits/sec                  receiver
[ 65]   0.00-1800.00 sec  29.9 GBytes   143 Mbits/sec    0             sender
[ 65]   0.00-1800.00 sec  29.9 GBytes   143 Mbits/sec                  receiver
[ 67]   0.00-1800.00 sec  59.7 GBytes   285 Mbits/sec    0             sender
[ 67]   0.00-1800.00 sec  59.7 GBytes   285 Mbits/sec                  receiver
[SUM]   0.00-1800.00 sec  2.47 TBytes  12.0 Gbits/sec★    0             sender
[SUM]   0.00-1800.00 sec  2.47 TBytes  12.0 Gbits/sec★                  receiver
  • Nethogs
# iperf Client 側
$ sudo /usr/local/sbin/nethogs
NetHogs version 0.8.5-68-gcb0213f

    PID USER     PROGRAM                                                                                                                                       DEV         SENT      RECEIVED
  39043 ec2-us.. iperf3                                                                                                                                        eth0  1178547.500    4044.627 KB/sec
   8127 ec2-us.. sshd: ec2-user@pts/1                                                                                                                          eth0        0.141       0.052 KB/sec
   4784 root     /usr/bin/ssm-agent-worker                                                                                                                     eth0        0.000       0.000 KB/sec
      ? root     unknown TCP                                                                                                                                               0.000       0.000 KB/sec

# iperf Server 側
$ sudo /usr/local/sbin/nethogs
NetHogs version 0.8.5-68-gcb0213f

    PID USER     PROGRAM                                                                                                                                       DEV         SENT      RECEIVED
   8421 ec2-us.. iperf3                                                                                                                                        eth0     4040.399 1178040.500 KB/sec
   8135 ec2-us.. sshd: ec2-user@pts/1                                                                                                                          eth0        2.724       0.348 KB/sec
   4803 root     /usr/bin/ssm-agent-worker                                                                                                                     eth0        0.011       0.012 KB/sec
      ? root     unknown TCP
  • sar
# iperf Client 側
$ sar -n DEV 10
Linux 4.14.203-156.332.amzn2.x86_64 (ip-172-31-16-145.ap-northeast-1.compute.internal) 	11/29/20 	_x86_64_	(48 CPU)

08:32:25        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:35         eth0  78711.10 168284.30   5073.17 1481513.35      0.00      0.00      0.00
08:32:35           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:35        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:45         eth0  78724.00 168282.20   5074.60 1481476.97      0.00      0.00      0.00
08:32:45           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:45        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:55         eth0  78742.70 168276.90   5075.21 1481447.63      0.00      0.00      0.00
08:32:55           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:55        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:05         eth0  78971.20 168283.90   5090.54 1481487.56      0.00      0.00      0.00
08:33:05           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:33:05        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:15         eth0  78934.00 168279.00   5087.54 1481470.22      0.00      0.00      0.00
08:33:15           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:33:15        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:25         eth0  79064.50 168280.20   5096.56 1481458.48      0.00      0.00      0.00
08:33:25           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
^C


08:33:25        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:29         eth0  78839.26 168163.22   5081.44 1480447.93      0.00      0.00      0.00
08:33:29           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:         eth0  78856.52 168272.29   5082.83 1481398.98      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

# iperf Server 側
$ sar -n DEV 10
Linux 4.14.203-156.332.amzn2.x86_64 (ip-172-31-16-36.ap-northeast-1.compute.internal) 	11/29/20 	_x86_64_	(48 CPU)

08:32:23        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:33         eth0 168284.90  78734.00 1481472.20   5077.64      0.00      0.00      0.00
08:32:33           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:33        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:43         eth0 168289.00  78736.90 1481474.80   5078.35      0.00      0.00      0.00
08:32:43           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:43        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:32:53         eth0 168286.00  78726.20 1481476.64   5077.22      0.00      0.00      0.00
08:32:53           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:32:53        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:03         eth0 168288.50  78951.60 1481475.63   5092.13      0.00      0.00      0.00
08:33:03           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:33:03        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:13         eth0 168285.20  78932.60 1481475.71   5090.57      0.00      0.00      0.00
08:33:13           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:33:13        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:23         eth0 168287.60  79092.50 1481476.44   5101.07      0.00      0.00      0.00
08:33:23           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
^C


08:33:23        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:33:30         eth0 168260.14  78881.70 1481249.21   5087.22      0.00      0.00      0.00
08:33:30           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:         eth0 168284.06  78864.34 1481451.47   5086.27      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

補足

  • bps / 8 = bytes/second
  • 1Gbps = 125MB/s

環境

  • c5.12xlarge(ネットワーク帯域幅は 12Gbps)
  • 詳細モニタリング有効化
$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
$ uname -r
4.14.203-156.332.amzn2.x86_64

参考

NetworkIn すべてのネットワークインターフェイスでの、このインスタンスによって受信されたバイトの数。このメトリクスは、1 つのインスタンスへの受信ネットワークトラフィックの量を表しています。報告された数は、期間中に受信されたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算してバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合は、この数を 60 で除算します。単位: バイト
NetworkOut すべてのネットワークインターフェイスでの、このインスタンスから送信されたバイトの数。このメトリクスは、1 つのインスタンスからの送信ネットワークトラフィックの量を表しています。報告された数は、期間中に送信されたバイト数です。基本 (5 分) モニタリングを使用している場合、この数を 300 で除算してバイト/秒を求めることができます。詳細 (1 分) モニタリングを使用している場合は、この数を 60 で除算します。単位: バイト
NetworkPacketsIn すべてのネットワークインターフェイスでの、このインスタンスによって受信されたパケットの数。このメトリクスは、受信トラフィックのボリュームを単一インスタンスでのパケット数として識別します。このメトリクスは基本モニタリング専用です。単位: Count統計: Minimum、Maximum、Average
NetworkPacketsOut すべてのネットワークインターフェイスでの、このインスタンスから送信されたパケットの数。このメトリクスは、送信トラフィックのボリュームを単一インスタンスでのパケット数として識別します。このメトリクスは基本モニタリング専用です。単位: Count 統計: Minimum、Maximum、Average
インスタンスの利用可能な CloudWatch メトリクスのリスト表示 - Amazon Elastic Compute Cloud