Имитация Медленного Подключения К Интернету
Я знаю, что это немного странный вопрос. Поскольку я обычно разрабатываю приложения, основанные на" предположении", что все пользователи имеют медленное подключение к интернету. Но, кто-нибудь думает, что есть способ программно имитировать медленное подключение к интернету, так что я могу "видеть", как приложение работает при различных "скоростях подключения"?
Я не беспокоюсь о том, какой язык используется. И я не ищу образцы кода или что-то еще, просто интересуюсь логикой позади оно.
13 ответов:
Если вы используете windows,Саша - это отличный инструмент. Он имеет настройку для имитации скорости модема, и для тех, кто хочет больше контроля имеет плагин для добавления задержки к каждому запросу.
Я предпочитаю использовать такой инструмент, чтобы поместить код задержки в мое приложение, поскольку это гораздо более реалистичная симуляция, а также не заставлять меня проектировать или кодировать фактические биты. Лучший код-это код, который мне не нужно писать.
добавил: Эта статья в блоге Павла Дончева о программных технологиях показывает, как создавать пользовательские моделируемые скорости:ограничение скорости подключения к интернету с Fiddler.
начиная с Chrome 38 вы можете сделать это без каких-либо плагинов. Просто нажмите Проверить элемент (или F12 горячая клавиша), затем нажмите на кнопку "toggle device mod"
и вы увидите что-то вроде этого:
среди многих других функций он позволяет имитировать конкретное подключение к интернету (3G, GPRS)
П. С. для людей, которые пытаются ограничивать скорость загрузки. К сожалению, в настоящее время это не вероятный.
P. S. 2 теперь вам не нужно ничего переключать. Панель регулирования доступна прямо с панели сети.
обратите внимание, что при нажатии на нет регулирования вы можете создать свои собственные параметры регулирования.
- Сетевой Кондиционер на OSX
- топорная на Windows
- Dummynet на Linux
Я использовал http://www.netlimiter.com/ и это работает очень хорошо. Не только ограничить скорость для отдельных процессов, но и показывает фактические скорости передачи.
на машинах Linux вы можете использовать
wondershaperapt-get install wondershaper $ sudo wondershaper {interface} {down} {up}{down} и {up} - это пропускная способность в kpbs
так, например, если вы хотите ограничить пропускную способность интерфейса eth1 до 256kbps uplink и 128kbps downlink,
$ sudo wondershaper eth1 256 128снимите ограничение,
$ sudo wondershaper clear eth1
там есть прокси TCP, такие как iprelay и Sloppy, которые формируют пропускную способность для имитации медленных соединений. Вы также можете выполнять формирование полосы пропускания и имитировать потерю пакетов с помощью инструментов фильтрации IP, таких как ipfw и iptables.
вы можете попробовать Dummynet, он может имитировать ограничения очереди и пропускной способности, задержки, потери пакетов и многолучевые эффекты
используйте прокси-сервер веб-отладки с функциями регулирования, такими как Charles или Саша.
вы найдете их полезными веб-разработки в целом. Основное различие заключается в том, что Чарльз является условно-бесплатным, в то время как скрипач свободен.
используйте такой инструмент, как TCPMon. Он может подделать Медленное соединение.
в принципе, вы запрашиваете его точно так же, и он просто пересылает тот же самый запрос на реальный сервер, а затем задерживает ответ только с заданным количеством байтов.
Mac OSX с 10.10 имеет приложение под названием Murus Firewall, который действует как GUI к pf, замена для ipfw.
Он очень хорошо работает для общесистемного или доменного дросселирования. Я просто смог использовать его, чтобы сдвинуть скорость загрузки между 300Kbps и 30Mbps, чтобы проверить, как настраивается потоковый видеоплеер.
существует также другой инструмент под названием WIPFW -http://wipfw.sourceforge.net/
Это немного старая школа, но вы можете использовать ее для имитации более медленного соединения. Он основан на Windows, и инструмент позволяет администратору контролировать, сколько трафика маршрутизатор получает от определенной машины, или сколько трафика WWW он пересылает, например.
можно использовать NetEm (Эмуляция Сети) как прокси-сервер для эмуляции многих характеристик сети (скорость, задержка, потеря пакета, etc.). Он управляет сетью с помощью iproute2 пакет и он включен в ядре большинства дистрибутивов Linux.
Он управляется
tcприложение командной строки (от iproute2 пакет), но есть также некоторые веб-интерфейсные интерфейсы для NetEm, например PHPnetemGUI2.для вашего приложения это абсолютно прозрачно, вы можете настроить операционную систему на использование прокси-сервера NetEm, поэтому все соединения с этой машины будут проходить через NetEm. Или вы можете настройте только ваше приложение, чтобы использовать его в качестве прокси.
Я использую его для тестирования производительности приложения для Android на различных эмулируемых сетях с низкой производительностью.
и вы увидите что-то вроде этого:


Comments