Имитация сетевых соединений с высокой задержкой / прерывистой - PullRequest
6 голосов
/ 05 августа 2010

Я нагрузочно тестирую сетевое приложение, используя Grinder (на ПК с Windows), и я хочу смоделировать несовершенные условия сети, чтобы увидеть, как это влияет на загрузку приложения, в частностихотелось бы увидеть эффект:

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

Какой самый простой способ сделать это?

Ответы [ 4 ]

5 голосов
/ 05 июля 2011
  1. Установка Linux-бокса в качестве маршрутизатора по умолчанию для этого компьютера.
  2. Установка 'netem' на linux-бокс: http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
1 голос
/ 31 августа 2012

Другие опции:

  • WanEM (OpenSource, тактовая синхронизация может быть проблемой при установке виртуальной машины по умолчанию, которая дает противоречивые результаты. Лучше всего использовать ее на физическом оборудовании, а не на виртуальной машине) WanEm Место загрузки
  • Shunra (Коммерческий, Мои предпочтения в решении шасси) Shunra Products
  • Anue (Коммерческий, теперь Ixia) Anueна сайте Ixia
0 голосов
/ 03 июля 2011

Возможно, вас также заинтересует функция регулирования полосы пропускания, которая ограничивает произвольные уровни скорости, с которой потоки агента могут отправлять / получать данные по сети.Ваше HTTP-соединение имеет метод setBandwidthLimit (), который позволяет вам сделать это.

0 голосов
/ 16 ноября 2010

Тот факт, что Grinder позволяет вам погрузиться в его сценарий Jython, обладает большой силой для настройки способа управления поведением "агента".
Например, если вы хотите смоделировать потерянные сетевые подключения, скажем, у вашего агента 100 запусков. вы можете сгенерировать массив случайных чисел [от 0 до 99], а для прогонов, соответствующих любому из случайных чисел, вы можете указать потоку прервать выполнение.

Однако, сказав, что условия, которые вы хотите смоделировать, больше похожи на настройку поведения тестируемого сервера. Я предоставил вам обходной путь , который может соответствовать вашим ожиданиям или не соответствовать им. Grinder как инструмент на самом деле не может сильно повлиять на поведение сервера [будет протестировано]. это больше похоже на инструмент для контроля пользовательской нагрузки и поведения.

Надеюсь, это поможет.

...