Имитация Медленного Подключения К Интернету



Я знаю, что это немного странный вопрос. Поскольку я обычно разрабатываю приложения, основанные на" предположении", что все пользователи имеют медленное подключение к интернету. Но, кто-нибудь думает, что есть способ программно имитировать медленное подключение к интернету, так что я могу "видеть", как приложение работает при различных "скоростях подключения"?



Я не беспокоюсь о том, какой язык используется. И я не ищу образцы кода или что-то еще, просто интересуюсь логикой позади оно.

977   13  

13 ответов:

Если вы используете windows,Саша - это отличный инструмент. Он имеет настройку для имитации скорости модема, и для тех, кто хочет больше контроля имеет плагин для добавления задержки к каждому запросу.

Я предпочитаю использовать такой инструмент, чтобы поместить код задержки в мое приложение, поскольку это гораздо более реалистичная симуляция, а также не заставлять меня проектировать или кодировать фактические биты. Лучший код-это код, который мне не нужно писать.

добавил: Эта статья в блоге Павла Дончева о программных технологиях показывает, как создавать пользовательские моделируемые скорости:ограничение скорости подключения к интернету с Fiddler.

начиная с Chrome 38 вы можете сделать это без каких-либо плагинов. Просто нажмите Проверить элемент (или F12 горячая клавиша), затем нажмите на кнопку "toggle device mod"enter image description here и вы увидите что-то вроде этого:

enter image description here

среди многих других функций он позволяет имитировать конкретное подключение к интернету (3G, GPRS)

П. С. для людей, которые пытаются ограничивать скорость загрузки. К сожалению, в настоящее время это не вероятный.

P. S. 2 теперь вам не нужно ничего переключать. Панель регулирования доступна прямо с панели сети. enter image description here

обратите внимание, что при нажатии на нет регулирования вы можете создать свои собственные параметры регулирования.

enter image description here

Я использовал http://www.netlimiter.com/ и это работает очень хорошо. Не только ограничить скорость для отдельных процессов, но и показывает фактические скорости передачи.

на машинах Linux вы можете использовать wondershaper

apt-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, он может имитировать ограничения очереди и пропускной способности, задержки, потери пакетов и многолучевые эффекты

кроме того, для моделирования медленного соединения на некоторых * nixes, вы можете попробовать использовать ipfw. Более подробную информацию можно получить по ответу Бен Ньюман на этом очередную статью вопрос

используйте прокси-сервер веб-отладки с функциями регулирования, такими как 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

    Ничего не найдено.