Auteur Sujet: Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit  (Lu 103387 fois)

0 Membres et 1 Invité sur ce sujet

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #108 le: 05 avril 2019 à 03:26:05 »
Attention a bien utiliser les bons mots:

Multi connexion (plusieurs flux tcp en meme temps) n'implique pas forcement multithreading (plusieurs fils d'execution en meme temps).
multithreading n'implique pas forcement execution en parallele sur plusieurs coeur physiques ou meme virtuels de processeurs.

Speedtest.net version web fait du multi connexion. C'est une app web (une page web avec du code javascript) donc par défaut c'est de toute facon,sur tout les navigateurs du monde, exécuté dans un seul thread Javascript du navigateur. Le multi-threading dans un navigateur est compliqué à faire, il faut utiliser des 'web worker' et mettre en place un synchronisation explicite entre les threads.

A ma connaissance speedtest.net n'utilise pas de web workers. Donc un speedtest dans un navigateur n'utilisera qu'un seul thread meme s'il fait 20 connexions tcp en meme temps.

Bref faut il ne pas confondre parallélisme et concurrence.

Et dans le multi connection , plusieurs flux en meme temps, on peut soit avoir 10 flux vers un meme serveur  soit 5 vers un serveur et 5 vers un autre serveur par exemple. Dans le cas de speedtest et nperf ce sont toujours un seul serveur quelque soit le nombre de flux.

A ma connaissance, a ce jour, seul le test de debit de UFC Que Choisir utilise 2 serveurs en meme temps (avec 4 flux vers chaque serveur).

Sn@ke

  • Officiel nPerf.com
  • Professionnel des télécoms
  • *
  • Messages: 566
  • Lyon (69)
    • nPerf
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #109 le: 05 avril 2019 à 08:49:17 »
Attention a bien utiliser les bons mots:

Multi connexion (plusieurs flux tcp en meme temps) n'implique pas forcement multithreading (plusieurs fils d'execution en meme temps).
multithreading n'implique pas forcement execution en parallele sur plusieurs coeur physiques ou meme virtuels de processeurs.

Speedtest.net version web fait du multi connexion. C'est une app web (une page web avec du code javascript) donc par défaut c'est de toute facon,sur tout les navigateurs du monde, exécuté dans un seul thread Javascript du navigateur. Le multi-threading dans un navigateur est compliqué à faire, il faut utiliser des 'web worker' et mettre en place un synchronisation explicite entre les threads.

A ma connaissance speedtest.net n'utilise pas de web workers. Donc un speedtest dans un navigateur n'utilisera qu'un seul thread meme s'il fait 20 connexions tcp en meme temps.

Bref faut il ne pas confondre parallélisme et concurrence.

Et dans le multi connection , plusieurs flux en meme temps, on peut soit avoir 10 flux vers un meme serveur  soit 5 vers un serveur et 5 vers un autre serveur par exemple. Dans le cas de speedtest et nperf ce sont toujours un seul serveur quelque soit le nombre de flux.

A ma connaissance, a ce jour, seul le test de debit de UFC Que Choisir utilise 2 serveurs en meme temps (avec 4 flux vers chaque serveur).

Concernant nPerf, je peux t'assurer que l'API WebSocket étant asynchrone, elle utilise bien plusieurs threads (et plusieurs coeurs), il suffit de faire un htop pendant un test pour le voir.

nPerf fait églement du multiserveur sur certains serveurs (c'est le cas de Online ou SHPV par exemple). On se limite aux serveurs hébergés dans le même DC mais techniquement on pourrait répartir sur N serveurs, on sait faire, le pb c'est de savoir sur le quel on fait le test de latence après...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #110 le: 05 avril 2019 à 08:58:25 »
Concernant nPerf, je peux t'assurer que l'API WebSocket étant asynchrone, elle utilise bien plusieurs threads (et plusieurs coeurs), il suffit de faire un htop pendant un test pour le voir.

oui multi thread niveau OS comme n'importe quel i/o, mais dans pas l'application elle-meme et  la saturation cpu du thread principal est le souci numéro 1 (surtout chez NPerf d'ailleurs). En programmant chaque websocket dans son propre webworker on aurait un truc bien plus fluide.

Sn@ke

  • Officiel nPerf.com
  • Professionnel des télécoms
  • *
  • Messages: 566
  • Lyon (69)
    • nPerf
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #111 le: 05 avril 2019 à 09:35:13 »
oui multi thread niveau OS comme n'importe quel i/o, mais dans pas l'application elle-meme et  la saturation cpu du thread principal est le souci numéro 1 (surtout chez NPerf d'ailleurs). En programmant chaque websocket dans son propre webworker on aurait un truc bien plus fluide.
On a essayé, ça ne change rien. Ce qui consomme du CPU c'est le traitement des messages WS reçus, ceux-ci sont bien fait sur des threads distincts du thread principal.
Malheureusement, suivant les navigateurs, ils font plus ou moins de traitements sur les messages reçus (traitements inutiles dans le cadre d'un test de débit), même en mode binaire, et c'est très certainement ça qui crée les écarts de performances.

La seule optimisation qui peut être faite c'est dans le code de gestion des WS par le navigateur.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #112 le: 05 avril 2019 à 09:47:52 »
On a essayé, ça ne change rien. Ce qui consomme du CPU c'est le traitement des messages WS reçus, ceux-ci sont bien fait sur des threads distincts du thread principal.
Malheureusement, suivant les navigateurs, ils font plus ou moins de traitements sur les messages reçus (traitements inutiles dans le cadre d'un test de débit), même en mode binaire, et c'est très certainement ça qui crée les écarts de performances.

La seule optimisation qui peut être faite c'est dans le code de gestion des WS par le navigateur.

hum pourquoi nperf se traine plus que les autres sur les machines lentes alors ? messages  trop petits ? l'ui animé qui consomme trop?

ce qui impacte fortement les machines lentes sur du 1G, mais se voir forcement sur toutes les machines en 10G...

vivien

  • Administrateur
  • *
  • Messages: 47 213
    • Twitter LaFibre.info
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #113 le: 05 avril 2019 à 10:05:25 »
Attention mon comparatif de 2048 était fait avec SpeedTest en http et non en https.

Il faut que j'en réalise un nouveau. Ce sera sur le même hardware, mais avec le soft mis à jour.

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 677
  • WOOHOO !
    • OrneTHD
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #114 le: 05 avril 2019 à 10:44:20 »
On a essayé, ça ne change rien. Ce qui consomme du CPU c'est le traitement des messages WS reçus, ceux-ci sont bien fait sur des threads distincts du thread principal.
Malheureusement, suivant les navigateurs, ils font plus ou moins de traitements sur les messages reçus (traitements inutiles dans le cadre d'un test de débit), même en mode binaire, et c'est très certainement ça qui crée les écarts de performances.

La seule optimisation qui peut être faite c'est dans le code de gestion des WS par le navigateur.

Pourquoi passer absolument par du Websocket ? Qu'est-ce que ça apporte de plus par rapport à des appels à des gros fichiers en HTTP (sans GZIP) via AJAX ?

vivien

  • Administrateur
  • *
  • Messages: 47 213
    • Twitter LaFibre.info
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #115 le: 05 avril 2019 à 10:47:24 »
Les navigateurs web ne seraient pas moins performant en https comparé à du Websocket sur TLS ?

willemijns

  • Abonné FreeMobile
  • *
  • Messages: 2 681
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #116 le: 05 avril 2019 à 11:02:57 »
nPerf fait églement du multiserveur sur certains serveurs

voilà. c'est pour moi ce que fait speedtest.net dans sa version logicielle et pas dans le navigateur.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 454
  • Lyon (69) / St-Bernard (01)
    • Twitter
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #117 le: 05 avril 2019 à 11:13:21 »
MAIS PUISQU'ON TE DIT QUE NON

willemijns

  • Abonné FreeMobile
  • *
  • Messages: 2 681
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #118 le: 08 avril 2019 à 23:30:14 »
MAIS PUISQU'ON TE DIT QUE NON

Et je confirme que tu as raison. un pote qui est sous fibre 1 Gbps orange a bien lancé le test depuis l'application windows et 5/6 threads que du meme serveur se sont activés pour avoir un résultat proche de 950 Mbps.

il avait bien évidemment des resultats 2 à 3 fois moindre via browser only.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 454
  • Lyon (69) / St-Bernard (01)
    • Twitter
Les connexions 10 Gb/s: un vrai défi pour les testeurs de débit
« Réponse #119 le: 09 avril 2019 à 00:00:41 »
Merci bien :-)