データ転送時間の計算
ファイルサイズと回線速度を入力すると、コピーにかかる時間が分かります。10 MBを10 Mbpsの回線で送ると、1バイトは8ビットなので8秒かかります。10進と2進の単位に対応し、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- サイズ
- 10
- サイズの単位
- MB
- 速度
- 10
- 速度の単位
- Mbps
- サイズ (バイト)
- 10,000,000
- サイズ (ビット)
- 80,000,000
- 速度 (バイト/秒)
- 1,250,000
- 速度 (ビット/秒)
- 10,000,000
バックアップ運用者、ネットワーク技術者、ディスクイメージをコピーしようとしている人は、ファイルサイズと回線速度から、そのコピーが終わるまでの時・分・秒を必要とします。この計算ツールはサイズをバイトに、公表速度を 1 秒あたりバイト数に変換し、割って転送時間を求めます。所要時間はサイズを速度で割った値であり、その商は定義されないからです。
サイズと速度から転送時間が決まる仕組み
十進の SI 単位 KB・MB・GB・TB は 1000 のべき乗なので、1 メガバイトは 100 万バイトです。二進の IEC 単位 KiB・MiB・GiB・TiB は 1024 のべき乗なので、1 メビバイトは 104 万 8576 バイトです。この系統を混ぜるのが見積もりの最初の失敗です。
家庭向け・通信事業者向けの回線はほぼ常に 1 秒あたりビット(bps・Kbps・Mbps・Gbps・Tbps)で表記されるため、1 バイトが 8 ビットであることからこれらの係数は 8 で割ります。1 秒あたりバイトの単位 Bps・KBps・MBps・GBps はこの割り算を飛ばします。
このビット対バイトの分かれ目が、10 メガバイトを 10 メガビット毎秒の回線で送ると 1 秒ではなく 8 秒になる理由です。10 メガバイトは 80 メガビットであり、80 メガビットを 10 メガビット毎秒で送ると 8 秒かかるからです。既定値はサイズが MB、速度が Mbps で、ファイルサイズと ISP プランの書き方に合わせています。
モデルは理想スループットです。TCP ハンドシェイク、プロトコルヘッダ、ディスクシーク、混雑は足さないので、答えは送った数値だけで完全に決まります。
活用例
バックアップとクラウドコピーの時間枠
スナップショット、オブジェクトストアのプレフィックス、リージョン間コピーが既知の回線をどれだけ占有するかを、開始前に、事業者が表記する単位で見積もります。
LAN・USB・ディスククローンの計画
ファイルサイズとギガビット、USB、Thunderbolt のスループットを時と分に直し、クローンやインストーラのコピーがメンテナンス枠に収まるようにします。
よくある質問
10 MB を 10 Mbps で送ると 1 秒ではなく 8 秒になるのはなぜですか?
ISP の速度は 1 秒あたりビットです。10 メガバイトは 80 メガビットなので、10 メガビット毎秒では理想転送は 8 秒です。回線が 1 秒あたりバイトで表記される場合は MBps を使います。
MBとMiBの違いは何ですか?
MBは10進の単位で、1メガバイトは100万バイトです。MiBは2進の単位で1024の累乗を使います。1ギガバイトのファイルは1ギビバイトより小さく、混同すると見積もりがずれます。
通信のオーバーヘッドは計算に含まれますか?
含まれません。理想的な転送速度を前提とし、接続の確立、通信の付帯情報、ディスクの読み書き待ち、混雑は加えません。実際のコピーは通常もっと時間がかかるため、最良の場合の目安としてください。
速度をメガバイト毎秒で入力できますか?
できます。MBpsのようなバイト毎秒の単位を選ぶと、8で割る処理は行いません。プロバイダーがよく表示するMbpsなどのビット単位は、8で割ってバイト毎秒に直します。
結果はどのような形で表示されますか?
時間、分、秒に分けた所要時間と、8sのような短い表示で示します。秒は小数点以下3桁に丸められ、換算後のバイト毎秒も確認用に表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/web/data-transfer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"size":10,"speed":10}'const res = await fetch("https://api.kit.forhosting.com/web/data-transfer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"size": 10,
"speed": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/data-transfer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"size": 10,
"speed": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/data-transfer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"size":10,"speed":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"size":10,"speed":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/data-transfer", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"size": 10,
"speed": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.data_transfer",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
データ転送の所要時間とは、既知のペイロードを既知のスループットの回線で動かすのにかかる時計時間です。0 バイトのペイロードは 0 秒で終わり、空の転送として有効です。負のサイズは invalid_input として拒否され、回線速度が 0 の場合も拒否されます。成功した呼び出しは $0.002 で課金され、不正な入力は課金されません。
サイズと速度から転送時間が決まる仕組み
転送時間は、両方の量が同じ単位系に乗ったうえで、ペイロードサイズを回線スループットで割った値です。サイズはまず size_unit でバイトに直します。1 ギガバイトのファイルは 1 ギビバイトのファイルと同じペイロードではありません。速度は続いて speed_unit で 1 秒あたりバイト数に直します。結果は解決済みの size_bytes・size_bits・speed_bytes_per_sec・speed_bits_per_sec を返すので、時計を信じる前に変換を監査できます。恒等式は t が size_bytes を speed_bytes_per_sec で割った値であることです。
入力契約、所要時間フィールド、エラー時の振る舞い
speed は接続または回線のレートで、0 より大きくなければなりません。0 で割っても所要時間は出ないからです。負の速度も同様に拒否されます。seconds と secs は小数第 3 位まで half-up 丸めするので、goldens はランタイム間で安定します。必須の有限数を 2 つ入れた JSON 本体を POST してください。size は動かすペイロードで、0 以上でなければなりません。別名 file_size・bytes・payload を受け付けるので、バックアップジョブやオブジェクトストアの一覧で名前を付け直す必要はありません。別名 bandwidth・rate・connection_speed・link_speed を受け付けます。任意の size_unit の既定は MB で、B・KB・MB・GB・TB・KiB・MiB・GiB・TiB のいずれかです。任意の speed_unit の既定は Mbps で、bps・Kbps・Mbps・Gbps・Tbps・Bps・KBps・MBps・GBps のいずれかです。負のサイズは size を名指しして invalid_input で失敗します。負のペイロードは転送ではないからです。速度 0 は speed を名指しして invalid_input で失敗します。欠落フィールド、空文字、非有限値、未知の単位も同じように失敗し、課金されません。成功時は本体が size・size_unit・speed・speed_unit をエコーし、解決済みのバイト量とビット量を返し、所要時間を seconds と整数の hours・minutes、小数の secs に分け、8s や 1m 25.899s のような短い human ラベルを付けます。例:size が 10、size_unit が MB、speed が 10、speed_unit が Mbps なら 8 秒と human 8s になります。単位接尾辞付きの文字列より JSON の数値を使ってください。単位は数値の中ではなく size_unit と speed_unit に属します。成功した 1 件の料金は一律 $0.002 です。
データ転送時間の計算が役立つ場面
その語句で上位表示する公開面は、バックアップ窓、クラウドリージョン間コピー、SFTP と rsync のジョブ、USB と Thunderbolt のディスククローン、インストーラや仮想マシンイメージの社内 LAN 移動に応えます。容量計画では Mbps と Gbps の段階で所要時間を比べて増速を正当化します。検証失敗は残高を消費しません。Mbps を MB/s に呼び変えたいだけなら別の単位変換と組み合わせ、この計算はデータ転送時間と検索したときに人が意味する所要時間に絞ってください。解決済みの 1 秒あたりバイト数フィールドがその比較の監査証跡です。授業のネットワーク実習では、速度 0 の回線を Infinity ではなく invalid_input とし、0 バイトのペイロードをエラーではなく 0 秒で完了した転送として扱うオラクルが必要です。自動化パイプラインは単位表の表計算を立てずに、成功 1 件あたり $0.002 で同じ API 契約を呼びます。リクエストを小さく保ち、丸めた seconds と human ラベルをテストに固定すれば、完全なネットワークモデルを立てなくても、ランブック、ステータスページ、軽いコピー見積もり向けに再現可能な転送時間の算術が得られます。
連携の活用例
帯域増速の根拠づくり
同じペイロードで Mbps と Gbps の段階の転送時間を比べ、解決済みの 1 秒あたりバイト数を読んでビット対バイトの計算を確認します。
技術的な質問
データ転送時間はどう計算しますか?
size を size_unit でバイトに、speed を speed_unit で 1 秒あたりバイト数に直し(ビット単位は 8 で割る)、割ります。API は seconds に加え hours・minutes・secs と短い human ラベルを返します。
speed が 0 だとどうなりますか?
タスクは invalid_input で失敗します。所要時間は size を speed で割った値なので、回線速度 0 は未定義であり、課金されません。
size は 0 や負の値でもよいですか?
0 バイトのペイロードは有効で、0 秒で終わります。負のサイズは、負のペイロードが転送ではないため invalid_input として拒否されます。
データ転送の計算ツールの料金はいくらですか?
ブラウザ上のツールは無料です。API リクエストは成功した呼び出し 1 件あたり $0.002 で KIT の前払い残高を使い、不正な入力は課金されません。