サーバーが遅い、パケットロスがある、遅延が大きいと感じても、感覚だけでは原因を特定できません。本記事ではサーバーのネットワーク速度測定と経路追跡に役立つツールとして、経路とロスを調べるmtr・traceroute、帯域を測るiperf3・speedtest-cliを紹介し、結果をテクニカルサポートへ送る方法も解説します。Linux(Debian/Ubuntu、CentOS/Rocky/AlmaLinux)とWindowsに対応しています。
Debian / Ubuntu:
apt update
apt install -y mtr-tiny traceroute iperf3 speedtest-cli
CentOS / Rocky / AlmaLinux(speedtest-cliはpipで導入):
dnf install -y mtr traceroute iperf3 python3-pip
pip3 install speedtest-cli
CentOS 7ではdnfをyumに置き換えてください。
mtrはpingとtracerouteを組み合わせたツールで、各ホップへ継続的にプローブを送りロス率と遅延を集計します。回線調査で最も役立つツールです。
mtr -rwzbc 100 8.8.8.8
オプション:-r レポート形式、-w ワイド表示、-z ASN表示、-b IPとホスト名を併記、-c 100 で100回送信。宛先がICMPを遮断している場合はTCPで測定します。
mtr -rwc 100 -T -P 443 www.example.com
traceroute -n 8.8.8.8
traceroute -n -T -p 80 www.example.com
手元のWindows PCでは標準コマンドを使えます(-dで名前解決を省略)。pathpingは追跡後に各ホップのロスを集計し、mtrに近い結果が得られます。
tracert -d 203.0.113.10
pathping -n 203.0.113.10
iperf3は公開測定サーバーに左右されず、2点間のスループットを正確に測れます。サーバー側で待ち受けを開始します。
iperf3 -s
別のマシンからクライアントとして接続します(-P 4 は4並列、-R は逆方向の測定)。
iperf3 -c 203.0.113.10 -P 4 -t 30
iperf3 -c 203.0.113.10 -P 4 -t 30 -R
iperf3は標準でTCP 5201番ポートを使います。ファイアウォールで許可し、測定後はCtrl+Cで停止してください。
speedtest-cli --secure
speedtest-cli --list | head -n 20
speedtest-cli --secure --server 12345
--listで近くの測定サーバーを表示し、--serverでIDを指定します。結果は測定サーバーの負荷に大きく左右されるため、複数で測定しましょう。
原因を素早く特定するため、双方向のデータを用意してください。手元からサーバーへのmtr(またはWinMTR/pathping)と、サーバーから手元のグローバルIPへのmtrです。結果はテキストで保存できます。
mtr -rwzbc 100 手元のグローバルIP > mtr-from-server.txt
チケットには、サーバーIP、手元のグローバルIPと利用回線、問題が起きた時間帯、各測定のテキスト結果(できればスクリーンショットではなくテキスト)を記載してください。
最終宛先にロスがなければ、途中のロスはルーターが応答しないだけのことがほとんどです。あるホップから宛先まで継続してロスがある場合のみ回線の問題と考えられます。
公開測定サーバー自体が混雑・制限されている場合があります。性能が分かっている2台間でiperf3を使い、時間帯を変えて複数回測定してください。
遅い時間帯にmtrを実行して時刻を記録し、通常時の結果と一緒に送っていただくと、混雑箇所を比較・特定しやすくなります。
解決しない場合はチケットを送信して、測定結果を添えてIMIDCの24時間365日テクニカルサポートへご連絡ください。