ネットワークの速度等で使う単位、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ファイルなど、内容が単純で無い物)を共有フォルダに転送するなどして、速度測定する方が良いでしょう。
まあこれも、ファイル転送プロトコルのオーバーヘッドがあったりするので、純粋な速度測定にはならないんですけど。
お礼
ありがとうございます。 >メモリー間での転送速度を測定できるツールで測定するのが 正確ではないかと思われます。 具体的に何をすればよろしいでしょうか。