Calculateur de temps de transfert
Indiquez la taille d'un fichier et le débit de la connexion pour savoir combien de temps prendra la copie : 10 MB sur une ligne à 10 Mbps prennent 8 secondes, car un octet compte huit bits. Unités décimales et binaires acceptées. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taille
- 10
- Unité de taille
- MB
- Vitesse
- 10
- Unité de vitesse
- Mbps
- Taille (octets)
- 10 000 000
- Taille (bits)
- 80 000 000
- Vitesse (octets/s)
- 1 250 000
- Vitesse (bits/s)
- 10 000 000
La durée d'un transfert de données est le temps d'horloge qu'il faut pour déplacer une charge connue sur une liaison de débit connu. Les opérateurs de sauvegarde, les ingénieurs réseau et quiconque s'apprête à copier une image disque partent d'une taille de fichier et d'un débit de connexion, puis ont besoin des heures, minutes et secondes avant la fin de cette copie. Ce calculateur convertit la taille en octets, convertit le débit annoncé en octets par seconde, puis divise pour obtenir la durée. Une charge de zéro octet se termine en zéro seconde, ce qui est un transfert vide valide.
Comment le temps de transfert se forme à partir de la taille et du débit
La durée du transfert est la taille de la charge divisée par le débit de la liaison, une fois que les deux grandeurs vivent dans le même système d'unités. Les unités SI décimales KB, MB, GB et TB utilisent des puissances de mille, si bien qu'un mégaoctet vaut un million d'octets. Les unités IEC binaires KiB, MiB, GiB et TiB utilisent des puissances de mille vingt-quatre, si bien qu'un mébioctet vaut un million quarante-huit mille cinq cent soixante-seize octets.
Mélanger ces familles est la première façon de rater une estimation : un fichier d'un gigaoctet n'est pas la même charge qu'un fichier d'un gibioctet. Les liaisons grand public et opérateur sont presque toujours cotées en bits par seconde — bps, Kbps, Mbps, Gbps, Tbps —, aussi ces facteurs se divisent-ils par huit parce qu'un octet vaut huit bits. Les unités en octets par seconde Bps, KBps, MBps et GBps sautent cette division.
Cette scission bit contre octet explique pourquoi dix mégaoctets sur une ligne à dix mégabits par seconde durent huit secondes, et non une : dix mégaoctets valent quatre-vingts mégabits, et quatre-vingts mégabits à dix mégabits par seconde prennent huit secondes. Les valeurs par défaut sont MB pour la taille et Mbps pour le débit, comme s'écrivent d'ordinaire les tailles de fichier et les offres d'ISP.
Le modèle est un débit idéal : il n'ajoute ni poignée de main TCP, ni en-têtes de protocole, ni seek disque, ni congestion, ce qui laisse la réponse entièrement déterminée par les nombres que vous avez envoyés.
Où un calculateur de temps de transfert gagne sa place
Un éditeur classé sur cette requête sert des fenêtres de sauvegarde, des copies entre régions cloud, des jobs SFTP et rsync, des clones de disque USB et Thunderbolt, et des déplacements en LAN d'installateurs ou d'images de machine virtuelle. Les planificateurs de capacité comparent les durées entre paliers Mbps et Gbps pour justifier une montée en débit ; le champ d'octets par seconde résolu est la piste d'audit de cette comparaison. Une validation en échec ne consomme pas le solde.
Gardez les requêtes petites, figez dans les tests les seconds arrondis et l'étiquette human, et vous obtenez une arithmétique de durée reproductible pour runbooks, pages d'état et estimateurs légers de copie, sans dresser un modèle réseau complet. Associez cette surface à un convertisseur d'unités distinct lorsque vous n'avez besoin que de renommer Mbps en MB/s ; gardez ce calculateur centré sur la durée que l'on cherche en tapant temps de transfert de données.
Cas d’usage
Fenêtres de sauvegarde et de copie cloud
Estimez combien de temps un instantané, un préfixe d'object store ou une copie inter-régions occupera une liaison connue avant de la lancer, avec les unités cotées par votre fournisseur.
Planification LAN, USB et clonage de disque
Transformez une taille de fichier et un débit gigabit, USB ou Thunderbolt en heures et minutes afin qu'un clone ou une copie d'installateur tienne dans un créneau de maintenance.
Justification d'une montée en débit
Comparez la durée de transfert entre paliers Mbps et Gbps à partir de la même charge, en lisant les octets par seconde résolus pour vérifier le calcul bit contre octet.
Questions fréquentes
Pourquoi 10 MB à 10 Mbps durent-ils huit secondes, et non une ?
Les débits d'ISP sont en bits par seconde. Dix mégaoctets valent quatre-vingts mégabits, donc à dix mégabits par seconde le transfert idéal dure huit secondes. Utilisez MBps si votre liaison est cotée en octets par seconde.
size peut-il être zéro ou négatif ?
Une charge de zéro octet est valide et se termine en zéro seconde.
Quelle différence entre MB et MiB ?
MB est une unité décimale : un mégaoctet vaut un million d'octets, alors que MiB est binaire et utilise des puissances de 1024. Un fichier d'un gigaoctet est donc plus petit qu'un fichier d'un gibioctet, et les mélanger fausse l'estimation.
Le calcul tient-il compte de la surcharge du réseau ?
Non. Il suppose un débit idéal et laisse de côté l'établissement de la connexion, l'en-tête de chaque protocole, l'accès au disque et la congestion. Une copie réelle dure en général plus longtemps : voyez le résultat comme le meilleur cas.
Puis-je saisir le débit en mégaoctets par seconde ?
Oui. Choisissez une unité en octets par seconde, comme MBps, et aucune division par huit n'est appliquée. Les unités en bits, comme les Mbps annoncés par les fournisseurs, sont divisées par huit pour obtenir des octets par seconde.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"size": 10,
"speed": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.data_transfer",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une taille négative est rejetée en invalid_input, et un débit de connexion nul est rejeté parce que la durée est la taille divisée par le débit et que ce quotient n'est pas défini. Les appels réussis sont facturés $0.002 ; une entrée invalide n'est pas débitée.
Comment le temps de transfert se forme à partir de la taille et du débit
La taille est d'abord convertie en octets avec size_unit. Le débit est ensuite converti en octets par seconde avec speed_unit. Le résultat rapporte size_bytes, size_bits, speed_bytes_per_sec et speed_bits_per_sec résolus afin que vous puissiez auditer la conversion avant de faire confiance à l'horloge. L'identité est t égal à size_bytes divisé par speed_bytes_per_sec.
Contrat d'entrée, champs de durée et comportement d'erreur
Un débit négatif est rejeté de la même façon. Champs manquants, chaînes vides, valeurs non finies et unités inconnues échouent de même et ne sont pas facturés. Envoyez par POST un corps JSON avec deux nombres finis obligatoires. size est la charge à déplacer et doit être supérieur ou égal à zéro ; les alias file_size, bytes et payload sont acceptés pour qu'un travail de sauvegarde ou un listing d'object store n'ait pas besoin d'une étape de renommage. speed est le débit de la connexion ou de la liaison et doit être strictement supérieur à zéro ; les alias bandwidth, rate, connection_speed et link_speed sont acceptés. Le size_unit facultatif vaut MB par défaut et doit être l'un de B, KB, MB, GB, TB, KiB, MiB, GiB ou TiB. Le speed_unit facultatif vaut Mbps par défaut et doit être l'un de bps, Kbps, Mbps, Gbps, Tbps, Bps, KBps, MBps ou GBps. Une taille négative échoue avec invalid_input en nommant size, car une charge négative n'est pas un transfert. Un débit de zéro échoue avec invalid_input en nommant speed, car diviser par zéro ne produit pas de durée. En cas de succès, le corps répète size, size_unit, speed et speed_unit, renvoie les quantités résolues en octets et en bits, et découpe la durée en seconds plus des heures entières, des minutes et un champ fractionnaire secs, avec une étiquette compacte human telle que 8s ou 1m 25.899s. seconds et secs sont arrondis half-up à trois décimales pour que les goldens restent stables d'un runtime à l'autre. Exemple : size dix, size_unit MB, speed dix, speed_unit Mbps donne huit secondes et human 8s. Préférez des nombres JSON à des chaînes avec suffixe d'unité ; l'unité appartient à size_unit et à speed_unit, pas à l'intérieur du nombre. Le tarif d'un élément réussi est un $0.002 forfaitaire.
Où un calculateur de temps de transfert gagne sa place
Les laboratoires réseau en classe ont besoin d'un oracle qui marque une liaison à débit zéro comme invalid_input au lieu de renvoyer Infinity, et qui traite une charge de zéro octet comme un transfert achevé de zéro seconde plutôt que comme une erreur. Les pipelines d'automatisation appellent le même contrat API à $0.002 par élément réussi sans dresser un tableur de tables d'unités.
Questions techniques
Comment calcule-t-on le temps de transfert de données ?
Convertissez size en octets avec size_unit, convertissez speed en octets par seconde avec speed_unit (unités en bits divisées par huit), puis divisez. L'API renvoie seconds plus hours, minutes, secs et une étiquette compacte human.
Que se passe-t-il si speed vaut zéro ?
La tâche échoue avec invalid_input. La durée est size divisé par speed, donc un débit de connexion nul n'est pas défini et n'est pas facturé.
Combien coûte le calculateur de transfert de données ?
L'outil dans le navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.