pingでネットワークの速度を測る
pingコマンドで、指定したサイズと返ってきた時間でネットワークの速度の目安が測れる。
帯域 [bytes/s] ≒ (データ・サイズ×2)÷所要時間
一度に送信してよいpingのサイズは65535バイトまで。
ほどほどに大きい方が計測は正確になるので、60000バイトくらいを送ってみる。
(場合によっては(セキュリティのために)フラグメント化したIPパケットの通信が禁止されている場合があるので、その場合はフラグメントを起こさない最大サイズに近い1400bytes程度にするのがよい。とのこと)
例1) 近くのサーバー
60000 * 2 / 0.012 = 10000000 → 10MB/s
C:\>ping -l 60000 192.168.0.211 192.168.0.211 に ping を送信しています 60000 バイトのデータ: 192.168.0.211 からの応答: バイト数 =60000 時間 =12ms TTL=64 192.168.0.211 からの応答: バイト数 =60000 時間 =12ms TTL=64 192.168.0.211 からの応答: バイト数 =60000 時間 =12ms TTL=64 192.168.0.211 からの応答: バイト数 =60000 時間 =12ms TTL=64 192.168.0.211 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 12ms、最大 = 12ms、平均 = 12ms
例2) インターネット越しの遠くのサーバー
1400 * 2 / 0.018 = 155556 → 156KB/s
C:\>ping -l 1400 example.net example.net [115.146.19.215]に ping を送信しています 1400 バイトのデータ: 115.146.19.215 からの応答: バイト数 =1400 時間 =18ms TTL=44 115.146.19.215 からの応答: バイト数 =1400 時間 =18ms TTL=44 115.146.19.215 からの応答: バイト数 =1400 時間 =19ms TTL=44 115.146.19.215 からの応答: バイト数 =1400 時間 =18ms TTL=44 115.146.19.215 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 18ms、最大 = 19ms、平均 = 18ms
例3) ローカルは速過ぎるの巻
計算できません!
C:\>ping -l 60000 127.0.0.1 127.0.0.1 に ping を送信しています 60000 バイトのデータ: 127.0.0.1 からの応答: バイト数 =60000 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =60000 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =60000 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =60000 時間 <1ms TTL=128 127.0.0.1 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
正確な計測方法ではないので、「あのサーバーならこのくらいで正常」という目安を把握しておけば、たまには役に立つかもしれません。
コメント