ネットワーク性能測定の5つの指標
- 可用性(availability)
- 応答時間(response time)
- ネットワーク利用率(network utilization)
- ネットワークスループット(network throughput)
- ネットワーク帯域容量(network bandwidth capacity)
- 可用性
ネットワークの正常動作を確認するためにはpingコマンドが最も簡単な方法です。icmp echo requestを送信し、icmp echo replyを受け取ることでリモートマシンとの接続状態を判断します。
ping -c 4 -s 64 example.com
異なるサイズのパケットを送信できる機能は、特にネットワーク機器のテストにおいて重要です。
- 応答時間
Pingコマンドのecho request/replyの往復時間を計測することで応答時間を測定できます。ネットワーク負荷やデバイスの問題などが応答時間に影響を与えます。
- ネットワーク利用率
ネットワーク利用時間が総時間に対する比率を示します。例えばEthernetでは、一度に一つのパケットしか送信できないため、利用率は0%または100%になります。
- ネットワークスループット
ネットワーク内の二つのノード間での残余帯域幅を測定します。実際の環境でのスループット測定には異なる時間帯での複数回のテストが必要です。
- ネットワーク帯域容量
最大利用可能な帯域幅を示し、ネットワーク機器の能力によって決まります。Packet pairsやpacket trains技術を使用して測定を行います。
データ収集方式
SNMPプロトコルを使用した直接取得、tcpdumpなどの監視ツール、そしてiperf、netperf、mzなどのツールによるデータ生成があります。
Iperf
| オプション | 説明 |
|---|---|
| -u | UDPモード使用 |
| -p | ポート指定 |
| -l | バッファ長設定 |
| -w | ソケットバッファサイズ設定 |
サーバー専用オプション
| オプション | 説明 |
|---|---|
| -s | サーバーモード起動 |
| -P | 並列接続数設定 |
クライアント専用オプション
| オプション | 説明 |
|---|---|
| -b | 帯域幅設定 |
| -d | 双方向テスト |
実例
UDPモード:
# サーバー
iperf -u -s
# クライアント
iperf -u -c 192.168.1.1 -b 100M -t 60
TCPモード:
# サーバー
iperf -s
# クライアント
iperf -c 192.168.1.1 -t 60
Netperf
テーブル形式のオプション:
| オプション | 説明 |
|---|---|
| -H | リモートサーバーIP指定 |
| -l | テスト時間指定 |
実例:
# サーバー
./netserver
# クライアント
./netperf -H 192.168.0.28 -l 60
MZ
C言語で開発された高速トラフィック生成ツール。以下のような機能を持ちます:
- ARP, UDP, TCPなど多数のパケットタイプの生成
- 詳細なオプションでカスタマイズ可能
実例:
# IPパケット生成
mz eth0 -t ip p=68:65:6c:6c:6f:20:77:6f:72:6c:64
# UDPパケット生成
mz eth0 -B 192.168.1.1 -t udp "dp=16384-32767, p=A1:00:CC:00:00:AB:CD:EE:EE:DD:DD:00"