Симулиране на висока латентност/прекъснати мрежови връзки

Тествам под натоварване мрежово приложение, използвайки The Grinder (на компютър с Windows) и искам да симулирам несъвършена мрежа условия, за да видя какъв ефект има върху натоварването на приложението, по-специално бих искал да видя ефекта от:

  • Променлива латентност на мрежата, така че не само различните клиенти имат различна латентност, но и латентността може да варира по време на теста за един клиент.
  • Прекъснати мрежови връзки – Искам да симулирам какво се случва, когато мрежова връзка внезапно/произволно прекъсне.

Кой е най-лесният начин да направите това?


person Justin    schedule 05.08.2010    source източник


Отговори (4)


  1. Настройте Linux кутия като рутер по подразбиране за тази машина.
  2. Инсталирайте 'netem' в кутията на linux: http://www.linuxfoundation.org/collaborate/workgroups/networking/netem
person FractalSpace    schedule 05.07.2011

Други възможности:

  • WanEM (OpenSource, синхронизирането на часовника може да бъде предизвикателство при инсталацията на VM по подразбиране, което води до противоречиви резултати. Най-добре се използва при инсталиране на физически хардуер вместо във виртуална машина) Местоположение за изтегляне на WanEm
  • Shunra (Търговски, моите предпочитания за решение за шаси) Продукти на Shunra
  • Anue (Търговски, сега Ixia) Anue на уебсайта на Ixia
person James Pulley    schedule 30.08.2012

Фактът, че Grinder ви позволява да се потопите в неговия скрипт Jython, притежава много сила, за да персонализирате начина, по който искате да контролирате поведението на „агента“.
Например – ако искате да симулирате изпуснат мрежови връзки, кажете, че вашият агент има 100 изпълнения. можете да генерирате масив от произволни числа [между 0-99] и за сериите, съответстващи на някое от произволните числа, можете да инструктирате нишката да прекъсне.

Въпреки това, като каза това, условията, които искате да симулирате, са по-скоро като промяна на поведението на сървъра, който тествате. Това, което ви предоставих, е заобиколно решение, което може или не може да изпълни вашите очаквания. Grinder като инструмент всъщност не предлага много, за да повлияе на поведението на сървъра [да се тества]. това е по-скоро като инструмент за контрол на натоварването и поведението на потребителите.

Надявам се това да помогне.

person anirvan    schedule 16.11.2010

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

person Travis Bear    schedule 03.07.2011