Simulation D'Une Connexion Internet Lente

je sais que c'est une question étrange. Puisque je développe habituellement des applications basées sur "l'hypothèse" que tous les utilisateurs ont une connexion Internet lente. Mais, est-ce que quelqu'un pense qu'il y a un moyen de simuler programmatiquement une connexion Internet lente, pour que je puisse "voir" comment une application fonctionne sous diverses "vitesses de connexion"?

Je ne m'inquiète pas de la langue utilisée. Et je ne suis pas à la recherche d'échantillons de code ou quoi que ce soit, juste intéressé par la logique derrière elle.

162
demandé sur Kara 2010-08-21 07:58:54

13 réponses

si vous utilisez windows, fiddler est un excellent outil. Il a un réglage pour simuler la vitesse du modem, et pour quelqu'un qui veut plus de contrôle a un plugin pour ajouter la latence à chaque requête .

je préfère utiliser un outil comme celui-ci à mettre du code de latence dans mon application car il s'agit d'une simulation beaucoup plus réaliste, ainsi que de ne pas me faire concevoir ou coder les bits réels. Le meilleur code est le code je n'ai pas à écrire.

ajouté : cet article sur le blog de Pavel Donchev sur les Technologies logicielles montre comment créer des vitesses simulées personnalisées: limiter votre vitesse de connexion Internet avec Fiddler .

101
répondu Philip Rieck 2013-12-18 09:26:34

à partir de Chrome 38 vous pouvez le faire sans plugins. Cliquez simplement sur Inspecter l'élément (ou F12 hotkey), puis cliquez sur "toggle device mod" enter image description here et vous verrez quelque chose comme ceci:

enter image description here

parmi de nombreuses autres fonctionnalités, il vous permet de simuler une connexion Internet spécifique (3G, GPRS)

P. S. pour les personnes qui tentent de limiter la vitesse de téléchargement. Malheureusement à l'heure actuelle, il n'est pas possible.

P.S. 2 maintenant, vous n'avez plus besoin de basculer quoi que ce soit. Le panneau d'étranglement est disponible directement depuis le panneau réseau. enter image description here

notez qu'en cliquant sur le no throttling vous pouvez créer vos options personnalisées d'étranglement.

enter image description here

145
répondu Salvador Dali 2016-02-15 10:38:23
38
répondu Stin 2014-04-03 17:55:41

j'utilisais http://www.netlimiter.com / et ça marche très bien. Non seulement limite la vitesse pour les processus simples, mais montre également les taux de transfert réels.

11
répondu Piotr Müller 2011-06-26 14:44:53

sur les machines Linux u peut utiliser wondershaper

apt-get install wondershaper

$ sudo wondershaper {interface} {down} {up}

{down} et {up} sont de la bande passante dans kpbs

par exemple, si vous voulez limiter la largeur de bande de l'interface eth1 à 256kbps en liaison montante et 128kbps en liaison descendante,

$ sudo wondershaper eth1 256 128

pour supprimer la limite,

$ sudo wondershaper clear eth1 
7
répondu Anonymous Platypus 2016-05-24 08:39:40

il y a des processeurs TCP, comme iprelay et Sloppy, qui font de la formation de bande passante pour simuler des connexions lentes. Vous pouvez également former la bande passante et simuler la perte de paquets en utilisant des outils de filtrage IP comme ipfw et iptables.

6
répondu hobbs 2010-08-21 04:07:41

vous pouvez essayer Dummynet , il peut simuler les limites de la file d'attente et de la bande passante, les retards, les pertes de paquets et les effets multipath

4
répondu tszming 2010-08-21 04:05:51

aussi, pour simuler une connexion lente sur certains *nixes, vous pouvez essayer d'utiliser ipfw . Plus d'informations sont fournies par la réponse de Ben Newman sur cette Quora question

4
répondu Ehtesh Choudhury 2012-05-18 18:46:55

utilisez un proxy de débogage web avec des fonctionnalités d'étranglement, comme Charles ou Fiddler .

vous les trouverez développement Web utile en général. La différence majeure est que Charles est shareware, tandis que Fiddler est libre.

3
répondu Ben M 2011-06-26 14:44:38

utilisez un outil comme TCPMon . Il peut simuler une connexion lente.

fondamentalement, vous le demandez la même chose exacte et il transmet juste la même demande exacte au serveur réel, et retarde ensuite la réponse avec seulement le nombre d'octets défini.

2
répondu pickypg 2011-06-26 14:45:33

Mac OSX depuis 10.10 a une application appelée Murus Firewall , qui agit comme une GUI à pf, le remplacement pour ipfw.

il fonctionne très bien pour le système-large ou domaine-spécifique étranglement. J'ai juste pu l'utiliser pour faire glisser ma vitesse de téléchargement entre 300kbit / s et 30mbit / s pour tester comment un lecteur vidéo en continu s'ajuste.

1
répondu Ben Wheeler 2016-09-28 22:07:12

il y a aussi un autre outil appelé WIPFW - http://wipfw.sourceforge.net/

c'est un peu vieux jeu, mais vous pouvez l'utiliser pour simuler une connexion plus lente. Il est basé sur Windows, et l'outil permet à l'administrateur de surveiller combien de trafic le routeur reçoit d'une certaine machine, ou combien de trafic WWW il transmet, par exemple.

0
répondu Deano 2013-09-20 11:04:02

vous pouvez utiliser NetEm (Network Emulation) comme un serveur mandataire pour émuler de nombreuses caractéristiques du réseau (vitesse, retard, perte de paquets, etc.). Il contrôle le réseau en utilisant le paquet iproute2 et il est activé dans le noyau de la plupart des distributions Linux.

il est contrôlé par l'application en ligne de commande tc (du paquet iproute2 ), mais il y a aussi quelques interfaces web GUI pour NetEm, par exemple PHPnetemGUI2 .

l'avantage est que, comme je l'ai écrit, il peut émuler non seulement des vitesses réseau différentes, mais aussi, par exemple, la perte de paquets, la duplication et/ou la corruption, le délai aléatoire ou défini, etc., de sorte que vous pouvez imiter divers réseaux peu performants.

pour votre application c'est absolument transparent, vous pouvez configurer le système d'exploitation pour utiliser le NetEm serveur proxy, donc toutes les connexions de cette machine passent par NetEm. Ou vous pouvez uniquement configurer votre application pour l'utiliser comme un proxy.

je l'ai utilisé pour tester les performances d'une application Android sur divers émulé pauvres performances des réseaux.

0
répondu Dawid Ferenczy 2017-01-05 20:08:32