Windows PC で ping 値を測る方法
オンラインゲームでよく話題に上がる「ping 値」を、Windows PC で簡単に測定する方法を解説します。特別なツールは要りません。Windows に最初からインストールされているプログラムだけで測定できます。
まえがき
FF14 に限らずオンラインゲームの分野で広く使われる「ping 値」という言葉があります。「ping 値」は、ゲームクライアントとサーバとの通信状態を表す指標のひとつです。「ラウンドトリップタイム」 (Round-Trip Time, RTT) や「レイテンシ」 (Latency) も、だいたい同じような意味で使われます(もちろん技術用語としてはそれぞれ異なる意味があるのですが)。
「ping 値」は、ゲームクライアントとサーバの間でひとつのデータが往復するのにかかる時間です。正確に言えば、「クライアント⇒サーバ」方向 (upstream) と「サーバ⇒クライアント」方向 (downstream) とでは要する時間が異なるのですが、オンラインゲーム界隈ではまとめて「往復に要する時間」として「ping 値」と呼んでいます。単位は通常「ミリ秒」 (ms) です。
ちなみに、「ping 値」の他に通信状態を表す指標として「バンド幅」 (Bandwidth) があります。こちらは、「1秒間にどれだけたくさんのデータを送れるか」というものです。単位は「メガビーピーエス」 (Mbps) や「メガバイトパーセック」 (MB/s) などです。「8Mbps = 1MB/s」 (8bit で 1byte) なので注意。
動画視聴などでは画質に直結するのでバンド幅が重要になりますが、オンラインゲームでは 数 Mbps 程度のバンド幅があれば十分なことが多く、体感的には「ping 値」のほうが重要だと言われています。もちろん、動画を観ながらプレイする場合や、パッチのダウンロードなど、バンド幅が必要になるケースもあります。
なお、オンラインゲームにつきものの「ラグ」に関しては、「ping 値」だけでなく「パケットロス」や「サーバ側の負荷状況」なども関係してくるので、非常に複雑な話になります(なのでこの記事では触れません)。
ping 値の測定方法
「ping 値」は、サーバの「ホスト名」か「IP アドレス」がわかれば、Windows 標準のツールで測定できます。
具体的には、「コマンドプロンプト」を起動して、ping
コマンドを実行するだけです。
文字列「ping」 + 半角スペース + 「ホスト名または IP アドレス」 + ENTER キー
たとえば、Windows 7 上で「日本国内向け FF14 公式サイト」(https://jp.finalfantasyxiv.com)
の Web サーバを指定して ping
コマンドを実行してみると、以下のような結果になります。
この実行例では、赤い下線の文字列を入力して実行した結果、測定が4回行われ、4回とも通信に成功し、往復に要した時間 (RTT) の最小値は 16ms、最大値は 17ms、平均値は 16ms であった、ということになります。つまり、「ping 値」は「おおよそ 16ms 程度」ということがわかります。
上記の例ではサーバの「ホスト名」を指定しましたが、「IP アドレス」でも同様に測定できます。
Windows 標準の nslookup
コマンドを使うと、上記 Web サーバの IP アドレスは 124.150.157.254
だということがわかります。この IP アドレスを指定して ping
コマンドを実行すると、以下のようになります。
この実行例では「平均値 15ms」と先の例より良い値が表示されていますが、4回中3回が「16ms」なので、測定誤差(ブレ)の範囲でしょう。
オススメその壱(測定回数を増やす)
Windows 標準の ping
コマンドは、デフォルトでは4回しか測定してくれないので、オプションを追加して3分間(180回)くらい測定するのがオススメです。
具体的には、オプション -n 180
を追加して ping
コマンドを実行します。
この実行例では、「ping 値」が 15 ~ 121ms の範囲でバラついています。つまり、回線速度が安定していないことがわかります・・・・(残念)。ただし、「パケットロス」(損失)は無いのが不幸中の幸いです。
オンラインゲームのプレイ中に一時的に「ping 値」が大きくなったり「パケットロス」が発生したりすると、「たまにラグる」という現象となり得ます。 RTT が 100ms を越えているということは、リフレッシュレート 30Hz でも 3 フレーム分くらいの通信遅延があるわけで、体感できるくらいのラグが発生してもおかしくありません。
オススメその弐(時間帯を変えて測定)
一般的に、「ping 値」は変動するものです。
変動する原因の例:
- 同じ LAN に接続している他のデバイスの通信に邪魔される
- プロバイダのサーバの混雑により待ち時間が発生する
- 通信相手のサーバが高負荷状態で応答を返すのが遅い
曜日や時間帯を変えて測定してみると、傾向が見えたりするので、オススメです。
平日の昼休みやゴールデンタイム(21時頃)などは悪化することが多いみたいです。
オススメその参(宛先を変えて測定)
ネットワーク上のサーバと通信する場合、そのサーバの「ネットワーク的な位置」によって通信経路が異なります。当然ながら「ping 値」も異なります。
FF14 をプレイするなら、接続している FF14 サーバとの「ping 値」が最も重要なわけですが、他の宛先との「ping 値」を測定してみることで、経路上のどこがボトルネックになっているのか、手がかりがつかめたりします。
たとえば、以下のような相手との「ping 値」同士を比較するのがオススメです:
- 自宅のルーター(LAN の通信状態の確認)
- 自宅のモデムに設定されているデフォルトゲートウェイ(自宅と基地局の間の通信状態の確認)
- 自宅のルーターに設定されている DNS サーバ(基地局とプロバイダのサーバとの間の通信状態の確認)
www.google.co.jp
(プロバイダのサーバとインターネットとの間の通信状態の確認)- FF14 サーバ(本命)
下に行くほどネットワーク的に「遠い」はずなので、それぞれの「ping 値」の差を計算すれば、経路上のボトルネックを特定できます。
オススメその四(IPv6 で測定)
FF14 サーバとの通信は「IPv4」(あるいは単に「IP」)という通信方式で行われていますが、最近では「IPv6」という新しい通信方式での通信も増えてきています。
もし、回線業者とプロバイダが IPv6 通信に対応しているなら、 IPv6 での「ping 値」を測定してみると参考になるかもしれません。
ping
コマンドに -6
オプションを追加すると、IPv6 通信での「ping 値」を測定できます。
コマンドの例:
1 | ping -6 -n 180 www.google.co.jp |
もし、IPv6 だと問題ないのに IPv4 だと遅い、という場合は、プロバイダのサーバがボトルネックになっている可能性があります。興味のある方は、「IPoE」というキーワードで検索すると情報が出てくるので、もしかしたら改善できるかも???
ご参考:
- てくろぐ: IIJmioひかりの混雑の理由とバイパス手段(IPoE・DS-Lite対応)
http://techlog.iij.ad.jp/archives/1879 - てくろぐ: DS-LiteでIPv4してみませんか?
http://techlog.iij.ad.jp/archives/1254
オススメその伍(グラフ化ソフト)
ping
コマンドに -t
オプションを付けると、Ctrl-C
を押して中断するまでずっと1秒ごとに測定し続けてくれます。しかし、出力されるのは素っ気ないテキストだけなので、経時変化を見るには専用のソフトを使ったほうが良いです。(もちろんログとして蓄積して後日集計する場合には ping -t
コマンドは有用です)
まりすは「Colasoft Ping Tool」という無償で利用できるソフトを使わせていただいています。(感謝!
- Colasoft Ping Tool - Colasoft
https://www.colasoft.com/jp/ping_tool/
「ping 値」の時間的な変化を折れ線グラフで見られるので、とても便利です。
複数のホスト名/IP アドレスを指定できて、ひとつのグラフにまとめて表示してくれるため、どのサーバとの通信が遅いのか、ひと目で確認できます。