169 votes

Comment simuler des connexions Internet lentes sur le Mac ?

Quelle est une bonne solution logicielle pour ralentir les connexions Internet sur le Mac pour les tests et les simulations ?

J'ai surtout besoin de tester du code dans le simulateur iPhone/iOS, donc ralentir la connexion pour des applications ou des processus spécifiques serait génial.

202voto

Oskar Points 1242

L'outil officiel d'Apple pour ralentir les connexions réseau sur votre Mac à des fins de test est le suivant Conditionneur de lien réseau

En outre, iOS dispose d'une fonction similaire accessible depuis Xcode et iOS 6 ou plus.

enter image description here

Les anciennes versions de Xcode avant la version 4.3.2 a intégré une copie de cet outil. Ce fil de discussion sur le SO documente une partie de l'histoire de l'outil de manière similaire aux simulateurs iOS et à la documentation destinée aux développeurs.

Il y a 11 profils intégrés depuis un réseau Lossy Edge avec un délai de 400 ms jusqu'à un modem câble. Si vous avez besoin d'autres limites, vous pouvez créer des profils personnalisés avec vos propres paramètres ou vous pouvez également utiliser la fonction ipfw vous-même comme décrit dans Craig Hockenberry L'article Allez-y doucement, faites-le doucement Il mentionne également le Limite de vitesse panel par Mike Schrag qui est un téléchargement plus petit que Xcode, mais qui a moins d'options que l'outil d'Apple.

Il ralentit l'ensemble de la pile réseau, ce qui fait qu'il est impossible de mettre en place un système d'étranglement pour chaque application sans faire quelque chose comme installer Lion dans une machine virtuelle et configurer cette machine virtuelle avec une pile étranglée.

35 votes

N'oubliez pas de l'éteindre après avoir terminé vos essais !

1 votes

Notez également qu'iOS 6 dispose du conditionneur de lien réseau pour les tests sur l'appareil. Accédez-y via Paramètres->Développeur sous la section "Conditionneur de lien réseau".

0 votes

Il semble que cela ne fonctionne pas pour le trafic de type localhost. Je vois que quelqu'un a signalé que cela fonctionnait en utilisant localhost:8888 avec MAMP, mais je me connecte à une VM Windows sur le port 8888.

37voto

gentmatt Points 46446

OS X 10.9 et antérieurs fournissent ipfw et il vous permet de définir des règles de pare-feu personnalisées. Créez un tuyau avec bande passante limitée en utilisant ipfw et vous pouvez exécuter vos tests et simulations.

  1. Créer un tuyau "1" limité à 500KBytes/s par l'intermédiaire de

    sudo ipfw pipe 1 config bw 500KByte/s
  2. Guide tout le trafic réseau du port 80 à travers le tuyau "1" en utilisant

    sudo ipfw add 1 pipe 1 src-port 80
  3. Lorsque vous n'avez plus besoin du tuyau, retirez-le du port en utilisant la méthode suivante

    sudo ipfw delete 1

Autre

  • Si vous voulez mettre en place des barrières de trafic plus élevées, vous pouvez utiliser MByte/s
  • Port 80 : port standard pour les données non cryptées http trafic. Ce port est utilisé pour la plupart des navigations et des téléchargements. Il devrait vous convenir dans la plupart des cas.
  • Port 443 : port standard pour le cryptage SSL https trafic.

3 votes

Et après 10.9, qu'est-ce qu'on utilise à la place de ipfw ?

31voto

Randy6T9 Points 1606

Limite de vitesse est un volet des Préférences Système permettant de ralentir intentionnellement et sélectivement des ports et des domaines spécifiques.

1 votes

La source vers Speed Limit semble ne pas être maintenue maintenant, mais est disponible ici et dispose d'une fourche plus moderne. par ici mais je ne l'ai pas testé du tout

14voto

Roger Dueck Points 233

Pour ajouter à la réponse acceptée : il semble que vous ne devriez pas avoir besoin de XCode, juste d'un compte sur le site Apple Developer (plus simple que de télécharger d'abord le paquet XCode de 2 Go si vous ne l'avez pas déjà).

Aller à https://developer.apple.com/downloads et recherchez "Network Link Conditioner" ou "Additional Tools for XCode", ce dernier étant le nom du paquet dans lequel il se trouve.

Pour le télécharger via Xcode 8.x :

  • Cliquez sur le menu Xcode
  • Allez dans Open Developer Tool > More Developer Tools...
  • Cela ouvrira une page sur developer.apple.com (Remarque : vous devrez peut-être vous connecter d'abord).
  • Cliquez sur le signe "+" à côté de Outils supplémentaires pour Xcode 8.x.
  • Cliquez sur l'URL de téléchargement

11voto

Kiezpro Points 1243

Si vous n'avez besoin d'un ralentissement que pour le développement Web, je vous recommande sans hésitation Charles . C'est un excellent outil pour déboguer les applications HTTP de toute façon, et parmi ses nombreuses fonctionnalités, il a une option Throttle. Le logiciel n'est pas bon marché, mais il fait un excellent travail.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X