- ベストアンサー
社内LANの速度をpingで計測する方法と結果
- pingコマンドを使用して社内LANの速度を計測する方法を解説します。
- パケットの大きさ÷応答時間の計算方法を紹介します。
- Windows11ProやWindows Server2019、CentOS 8 Stream、Ubuntu 20.04LTSなど、異なる環境でのping結果を示し、それぞれの速度について説明します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> 指定したパケットサイズ×2÷応答時間(Mbytes/s) pingの応答時間というのは 荷物を目的地までもっていって向こうの窓口に預けて その荷物がそのままこちらに戻って帰ってくるまでの 往復にかかった時間のことです。 なので、運んだ荷物の量(パケットサイズ)としては 片道分の2倍ということになるので、x2してから 所要時間で割って速度を出します。 > Linuxにpingしても違う数値になります。 そうなりますね。 往復にかかった時間ですから 経路が混んでいたり、相手がもたついていれば、それだけ遅くなるので そのときの混在具合や相手の能力次第で測定速度は変わるということになります。 とは言っても 、今どきの高速化されたLANの速度計測にpingを使うのは 誤差が大きすぎで参考になりにくいというのは同感です。 ファイル転送を使った速度計測ですが コマンドプロンプトのFTPを使う方法もありますよ。 私の環境では、 PCのNICやスイッチングハブやケーブルは1000Mbps対応なのですが Windowsのコマンドプロンプトから ftpコマンドを使って LAN内のFTPサーバー(CentOS7)から約30MBのファイルを ファイル転送 (get命令でのダウンロード)してみたところ 「ftp: 28554325 バイトが受信されました 0.28秒 101256.47KB/秒。」 と、バイト/秒で速度が表示されました。 上記のKB/秒の値をMbpsに換算するために8倍して1024で割ると 約800Mbpsですから、1000Mbpsの80%ぐらいしか使えていない ように見えてしまいますが、 ファイルを裸のまま一度に運んでいる訳でなく、 荷札を付けたパケットに入れて小分けにして運んでいるし、 フロー制御や誤り制御や伝送効率のこともあるので、 実ファイルのサイズに戻すと、こんなものなのでしょう。 ただ、これはストレージの速度>LANの速度の環境だからですが、 LANが10GbEの環境になっていると、 たとえばストレージがSATA3のSSDだとLANよりも遅くなるので ストレージ側がボトルネックになってしまこともあるでしょう。 そういう場合まで考えるなら、ストレージを使わないで メモリー間での転送速度を測定できるツールで測定するのが 正確ではないかと思われます。
その他の回答 (3)
- superside0
- ベストアンサー率64% (461/711)
> 毎秒を計測するのに秒に満たない容量でも大丈夫ですか? 秒に満たないかどうかというよりも pingのようにあまりに小さいサイズと誤差のほうが大きくなるでしょうね。 そのへんは、いろいろやって結果を比較してみてはどうでしょう。 それに、NICや スイッチングハブの収容ポートで 別の通信が同時に行われていれば、伝送効率は下がるし PC側の処理速度も一定ではないので 常に同じ通信速度が出るというわけでもないので 大体のところがわかればよいと思いますよ。
お礼
ありがとうございます。
- superside0
- ベストアンサー率64% (461/711)
>>メモリー間での転送速度を測定できるツールで測定するのが 正確ではないかと思われます。 > 具体的に何をすればよろしいでしょうか。 ツールとしては、iPerfが よいのではないでしょうか。 メモリー間での転送速度を測定してくれるので、 ストレージの速度ががボトルネックになることはありません。 Windows版 Linux版 macOS版 iPhone版 Android版が ありますので WIndows11からLinux間の速度も測定できることになります。 でも、繰り返しになりますが 社内が10GbEの環境になっているでなく 1000Mbps(1Gbps)や100MbpsのNICやスイッチを使っているのであれば、 OSに搭載されているFTPコマンドで、十分だと思いますよ。
お礼
ありがとうございます。 iPerfですね調べてみます。 > FTPコマンドで、十分 > > ファイル転送 (get命令でのダウンロード)してみたところ 「ftp: 28554325 バイトが受信されました 0.28秒 101256.47KB/秒。」と、バイト/秒で速度が表示されました。 > > 上記のKB/秒の値をMbpsに換算するために8倍して1024で割ると 約800Mbpsです 毎秒101256.47キロバイトは、毎秒810,051.76キロビット、毎秒791メガビットって事ですね。 毎秒を計測するのに秒に満たない容量でも大丈夫ですか? 1.6ギガビット200MBぐらい用意したほうがいいですか、あんまり変わらないですか?
- asciiz
- ベストアンサー率70% (6803/9674)
ネットワークの速度等で使う単位、bps というのは、bits per second という意味の単位です。(日本語で書けばビット毎秒) 1ビットを1秒で送れるのが、1bpsです。 1,000ビットを1秒で送れるのが、1,000bps=1kbpsです。 1,000,000ビットを1秒で送れるのが、1,000,000bps=1,000kbps=1Mbpsです。 1バイトは8ビットなので、バイト毎秒(Byte/s、B/s)でカウントする場合は1/8の値になります。※ここをスタート・ストップビットを加えて10で割る場合もありますが取り敢えず 1,000bps=128 B/s 1,000,000bps=128,000 B/s= 128kB/s です。 ですから、1GB=1,000MB=1,000,000KB=1,000,000,000バイトのファイルを転送してみて、 転送に50秒かかったならば、 1,000,000,000[バイト] ÷ 50[秒] =20,000,000 [B/s] =160,000,000[bps] =160,000[kbps] = 160[Mbps] みたいに計算できます。 そこでですが。 >pingコマンドで計測できるような事を書いています。 pingはTCP/IP経路の疎通確認のツールであって、速度測定に使うものではありません。 通常のpingで使うパケットは32バイトという非常に小さいものですので、今時のLAN速度、1Gbpsの通信路に流すと、1ホップ0.000256秒で通信が終わってしまいます。 ですから、応答時間も「1msより小さい」あるいは「1ms程度(2ms行かない)」というアバウトな表示で、とても速度計算のための数値に採用できません。 「ping (宛先IP) -l 65500」 のようにして送信パケットを大きくすると、多少時間がかかるようになりますが、それでも 2ms・3ms程度では、速度計算のための計測になりませんし、これ以上パケットサイズを大きくすることもできません(Windows pingコマンドでは)。 pingというのは指定サイズのパケットを送ると、宛先ホストより同じパケットが送り返されるので、通信路を1往復したことにより、かかった時間÷2が片道の速度、そこから通信速度を計算できる、はずですが。 pingの極小パケットでは誤差が大きすぎて、速度測定の役に立ちません。 実際に大きいファイル(jpegファイルやzipファイルなど、内容が単純で無い物)を共有フォルダに転送するなどして、速度測定する方が良いでしょう。 まあこれも、ファイル転送プロトコルのオーバーヘッドがあったりするので、純粋な速度測定にはならないんですけど。
お礼
>pingの極小パケットでは誤差が大きすぎて、速度測定の役に立ちません。 ありがとうございます。
お礼
ありがとうございます。 >メモリー間での転送速度を測定できるツールで測定するのが 正確ではないかと思われます。 具体的に何をすればよろしいでしょうか。