Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petite colle : influence de la taille du fichier

1 réponse
Avatar
zebulon
Salut,

Voici un bout de code de mon cru qui teste le débit brut disponible entre
une applet java et le serveur web dont elle est issue.

Le calcul se fait en downloadant en http un fichier data.bin qui se trouve
sur le serveur web

int j = 0;
int k = 0;
byte tmp[]=new byte[8192];
long l = System.currentTimeMillis();
URLConnection urlconnection = (new
URL(monapplet.getCodeBase()+"data.bin")).openConnection();
urlconnection.setUseCaches(false);
BufferedInputStream bufferedinputstream = new
BufferedInputStream(urlconnection.getInputStream());
double dt=0;
do {
j = bufferedinputstream.read(tmp);
if(j == -1)
break;
k =k+ j;
} while(true);
bufferedinputstream.close();
dt=(double) (System.currentTimeMillis()-l);
double d= ((double)(8*k))/dt;
String resultat="Débit descendant = "+(d/1000) +" Kbps";

Que penser de cette méthode ?

Voilà les mesures de débit obtenues avec différentes tailles du fichier
data.bin :

Taille du fichier (Ko)
Fichier compressé
Débit dowload (Kbit/sec)

135
oui
2653

135
oui
3000

135
oui
3284

710
oui
2360

710
oui
2454

710
oui
2438

1258
oui
2342

1258
oui
2385

1258
oui
2421

2606
oui
2366

2606
oui
2400

2606
oui
2408

3072
fichier très redondant
2389

3072
fichier très redondant
2376

3072
fichier très redondant
2383

5732
oui
2374

5732
oui
2378

5732
oui
2370

31031
oui
2328


Débit dowload avec AceFTP : 2272 Kbit/sec

On voit clairement que le débit diminue quand la taille du fichier augmente
(pourquoi ?), que quand on réeassaye avec le même fichier le débit augmente
(surement un cache qui intervient quelque part)

Il apparait que les mesures commencent à être significatives à partir d'une
taille > 3Mo.Pourquoi ? Comment accelerer la mesure recherchée ? je suppose
qu'il faut rentrer dans les détails du protocol http pour comprendre ?

merci de votre aide

1 réponse

Avatar
Manu
Salut,

Voici un bout de code de mon cru qui teste le débit brut disponible entre
une applet java et le serveur web dont elle est issue.

Le calcul se fait en downloadant en http un fichier data.bin qui se trouve
sur le serveur web

int j = 0;
int k = 0;
byte tmp[]=new byte[8192];
long l = System.currentTimeMillis();
URLConnection urlconnection = (new
URL(monapplet.getCodeBase()+"data.bin")).openConnection();
urlconnection.setUseCaches(false);
BufferedInputStream bufferedinputstream = new
BufferedInputStream(urlconnection.getInputStream());
double dt=0;
do {
j = bufferedinputstream.read(tmp);
if(j == -1)
break;
k =k+ j;
} while(true);
bufferedinputstream.close();
dt=(double) (System.currentTimeMillis()-l);
double d= ((double)(8*k))/dt;
String resultat="Débit descendant = "+(d/1000) +" Kbps";

Que penser de cette méthode ?

Voilà les mesures de débit obtenues avec différentes tailles du fichier
data.bin :

Taille du fichier (Ko)
Fichier compressé
Débit dowload (Kbit/sec)

135
oui
2653

135
oui
3000

135
oui
3284

710
oui
2360

710
oui
2454

710
oui
2438

1258
oui
2342

1258
oui
2385

1258
oui
2421

2606
oui
2366

2606
oui
2400

2606
oui
2408

3072
fichier très redondant
2389

3072
fichier très redondant
2376

3072
fichier très redondant
2383

5732
oui
2374

5732
oui
2378

5732
oui
2370

31031
oui
2328


Débit dowload avec AceFTP : 2272 Kbit/sec

On voit clairement que le débit diminue quand la taille du fichier augmente
(pourquoi ?), que quand on réeassaye avec le même fichier le débit augmente
(surement un cache qui intervient quelque part)

Il apparait que les mesures commencent à être significatives à partir d'une
taille > 3Mo.Pourquoi ? Comment accelerer la mesure recherchée ? je suppose
qu'il faut rentrer dans les détails du protocol http pour comprendre ?

je pense qu'il te faut regarder cote serveur. En fait ton serveur ftp

(par exemple proftp) permet de changer les taux de transfert selon le
temps de telechargement demande. Un petit fichier, qui va prendre moins
de temps a telecharger, va etre transferer plus rapidement pour vite
liberer le process, tandis qu'un gros fichier va voir son taux de
transfert reduit pour permettre de telecharger d'autre fichiers en meme
temps. Bref, regarde dans les specifs de ton serveur ftp, tout est explique.

manu


merci de votre aide