「サーバーが遅い」には 3 つの意味がありえます。ネットワークが混んでいる、サーバー上の何かが帯域を使っている、あるいはテスト自体が間違っている、のいずれかです。次の 7 ステップでこれらを見分けます。コマンドは Linux 用で、パッケージ名は apt を使うシステム向けです。
1. ダッシュボードのグラフを見る
ダッシュボードでサーバーを開き、メトリクスタブを表示します。ネットワークのグラフには、直近 1 時間・1 日・1 週間の受信・送信量(毎秒)が表示されます。データは仮想化レイヤーから取得しているので、サーバー内の OS が固まっていても表示されます。
表示されないものが 2 つあります。ギガバイト単位の合計と、どのプログラムが通信したかです。それを調べるのが次のステップです。
同じデータは API でも取得でき、直近 1 か月分も取れます。
curl -s "https://api.eqvps.com/api/v1/eqvps/services/SERVICE_ID/metrics?timeframe=month" \
-H "Authorization: Bearer $EQVPS_API_KEY"
2. ネットワークインターフェースを調べる
以下のコマンドの多くはインターフェース名を使います。
ip -br addr
対象は、パブリックアドレス(NAT サーバーならプライベートアドレス)が付いているインターフェースで、多くの場合 eth0 か ens18 です。名前が違う場合は、以下の eth0 を置き換えてください。
3. vnStat で日別・月別の通信量を数える
apt install -y vnstat
vnstat -l -i eth0 # live rate, Ctrl+C to stop
vnstat -d # per day
vnstat -m # per month
vnStat はカーネルのインターフェースカウンターを読み取り、再起動しても記録が残り、負荷もほとんどかかりません。インストールした時点から数え始めるので、数字が必要になる前に入れておきましょう。
4. 帯域を使っているプロセスを調べる
apt install -y nethogs
nethogs eth0
nethogs はプロセスごとに現在の送受信速度を一覧表示します。見覚えのないプロセスが通信を大量に流していたら、よく調べてください。予期しない大量アップロードは、サーバーが侵害されている兆候かもしれません。
接続そのものを見るには:
ss -tunap | head -30
5. 意味のある速度テストを行う
確実なのは、自分で管理する 2 台のマシンの間で iperf3 を使う方法です。もう一方のマシンでサーバーを起動します。
iperf3 -s
自分のサーバーで、4 ストリーム・30 秒で両方向を測ります。
iperf3 -c OTHER_HOST -P 4 -t 30 # upload from this server
iperf3 -c OTHER_HOST -P 4 -t 30 -R # download to this server
NAT サーバーは SSH ポートでしか着信を受け付けないので、iperf3 -s はもう一方のマシンで実行し、NAT サーバーは上のようにクライアントのままにします。
2 台目のマシンがない場合は、近くの高速なミラーから大きなファイルをダウンロードして平均速度を読みます。
curl -o /dev/null -w "%{speed_download}\n" https://mirror.example.net/1GB.bin
結果の単位はバイト毎秒です。8 を掛けるとビット毎秒になります。110000000 なら約 880 Mbit/s です。
6. 遅延とパケットロスを確認する
長距離でスループットが低い場合、原因は帯域ではなく遅延やパケットロスであることがよくあります。
apt install -y mtr-tiny
mtr -rwc 100 example.com
最後の行の Loss% 列を見てください。途中の 1 ホップだけでロスが出て、その先で消えている場合は、たいていそのルーターが ping への応答の優先度を下げているだけで、実際のロスではありません。
7. 目安と比べる
| プラン | ポート | 4 ストリーム・空いている回線での典型的な結果 |
|---|---|---|
| Linux VPS | 1 Gbit/s | 各方向 約 900〜940 Mbit/s |
| Windows VPS | 150 Mbit/s | 約 140 Mbit/s |
同じ物理マシン上の複数のサーバーが同時に混み合うと、上り回線はそれらの間で均等に分けられるため、混雑時に数字が下がるのは想定どおりです。どのプランにも通信量の上限はありません。分け方の仕組みはトラフィックとネットワーク速度で説明しています。
Windows サーバーでは、タスクマネージャー → パフォーマンス → イーサネットで現在の速度を、リソースモニター → ネットワークでプロセス別の通信量を確認できます。
本当に数字が低い場合
ステップ 5 を 2 つの異なるテストサーバーに対して実行し、時刻を記録して、コマンドと出力を添えてチケットを送ってください。それがあれば、その時点の上り回線を確認できます。
関連
- トラフィックとネットワーク速度:ポート速度、公平な分配、送信メールのポート
- ネットワークとポート:NAT の転送と開いているポート
- vnStat やログでディスクがいっぱいになったら:ディスク容量を空ける
コメント
まだコメントはありません。最初になりましょう。