Главная » Статьи » Конкретные тесты |
Эмуляция сетевых проблем с помощью WANem
Эмуляция сетевых проблем с помощью WANemНедавно один из заказчиков TestLab² пожелал узнать, как будет работать его инсталлятор (с закачкой всякого на лету) на разных каналах. Внезапно первые подходы показали, что нам везет и обычные edge, umts и wimax-каналы (не говоря о проводных) в нашей округе как-то уж очень хорошо работают.
Чтобы создать тяжелые условия мы нашли и применили специализированный инструмент WANem, о котором я расскажу под катом. Что такое WANem?Это дистрибутив на основе knoppix, который позволяет эмулировать различные условия сетевого подключения клиентов. В первую очередь, это полезно для тестирования и отладки приложений, которым предстоит работать в не-пойми-каких условиях без физического погружения в эти самые условия. Правила для работы можно создавать как вручную, так и через более-менее удобный web-интерфейс. Как применять WANem?Взять любую систему виртуализации и загрузить в ней LiveCD. Или, если вы используете решения VMWare — скачать готовую виртуальную машину. В дальнейшем я буду исходить из загрузки с LiveCD. Подготовка WANem
Открываем в браузере http://IP виртуалки/WANem/ и видим интерфейс для управления. Из меню доступны:
Проверка работоспособностиВнутри себя WANem оперирует правилами, которые можно задавать явно в Advanced Mode, или по-простому выбирать из доступных в Basic Mode. Самый простой сценарий применения — включить режим, скажем ISDN 128 Kbps и задержку в 500 миллисекунд. После сохранения этих настроек нужно скомандовать машине, на которой установлено тестовое приложение, направлять весь свой трафик через WANem.
После этого нехитрого действия достаточно сделать traceroute от тестовой машины до внешнего мира и убедиться, что первый хоп — это IP виртуалки с WANem и что задержка пакетов ±совпадает с заданной в настройках. Тонкая настройкаУбедившись с помощью Basic Mode, что наша тестовая станция заворачивает весь сетевой трафик через эмулятор, можно переходить к более тонкой настройке. В первую очередь, стоит обратить внимание на обширные настройки случайного распределения задержек, ошибок и Заранее расшифрую самые непонятные опции:
Например можно задать параметры пропадания и восстановления связи, можно сэмулировать наличие соединения но непрохождение пакетов с данными, потерю или повреждение % пакетов. При необходимости WANem может работать с несколькими сетевыми интерфейсами одновременно (создавая для них разные правила), что позволяет реализовать самую изощренную сетевую конфигурацию. Альтернативы WANemМне известен платный продукт для Windows, под названием SoftPerfect Connection Emulator ($99/$149). UPD: Для OS X goshakkk_reborn рекомендует Network Link Conditioner из XCode. UPD: Для Windows x1shn1k подсказал также TMnetSim Network Simulator (freeware, есть версии ×32 и ×64) ВыводыОтличный, достаточно простой и эффективный инструмент. Мне лично немного не хватает логирования на стороне WANem, но подозреваю, что это решается third-party утилитами, с которыми еще предстоит разобраться. Вот пара примеров профилей, которые мы использовали для тестов: CDMA EV-DO rev.A, EDGE. Официальный сайт: wanem.sourceforge.net/, дистрибутив ~400мб Последняя версия: 2.3, 15.03.2011 Источник: http://habrahabr.ru/blogs/testing/127274/ | |
Просмотров: 1534 | Комментарии: 4 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |