La vraie solution est d'utiliser les WebWorkers JS qui permettent le multithread et donc utiliser l'ensemble des coeurs d'un CPU pour tester le débit.
Après, il y a plusieurs contraintes de façon générale :
- Soit on génère le flux à la volée : il faut générer des données aléatoires (surtout pas de zéros à la suite qui se compressent très facilement), mais ça consomme davantage de CPU
- Soit on lit bêtement un flux qu'on a reçu : dans ce cas, ça prend sur la mémoire, mais consomme moins de CPU.
Le risque de prendre sur la mémoire, c'est que l'OS aura tendance à utiliser le swap, donc des accès disques.