Який інструмент (и) можна використовувати для імітації WAN для трафіку HTTP?


13

Іноді мені потрібно моделювати середовище WAN між моїм клієнтом та сервером. Я маю на увазі конкретно від найголовнішого до найменшого:

  • Загальна межа пропускної здатності,
  • Випадкові затримки (багато десятків секунд)
  • тремтіння

Переважно, симулятор WAN міг би діяти як проксі - я вказую свого клієнта на симулятор WAN, а симулятор WAN розмовляє з сервером. Я витратив багато часу на Гуглінг, щоб спробувати знайти щось, що зробить це, і знайшов дуже мало.

Звичайно, я знаю, що я можу реалізувати різні рішення, контролюючи топологію мережі та вставляючи пристрої посередині, але ІТ керує мережею. Я просто розробник.

Які безкоштовні чи дешеві інструменти ви знаєте про те, що може допомогти змоделювати WAN?


Яке середовище ви використовуєте? З мережевим стеком можна виконати різні речі, якщо ви використовуєте Linux ...
Hamish Downer

Відповіді:


6

http://communities.vmware.com/blogs/Knorrhane/2008/01/23/how-to-simulate-wan-connections-in-your-own-test-lab-for-free


У статті вони згадують про Tmurgent також вводить затримку для тестування. Це ключове. За допомогою нашого внутрішнього додатка ми виявили важкий шлях до того, що пропускна здатність не була основною проблемою, а саме затримкою. Ми повинні бути дуже обережними з побудовою наших об'єктів на клієнті, оскільки всі виклики SQL можуть затягувати реальні витрати в середовищі WAN із затримкою.
Аарон

7

Якщо ви використовуєте Linux, ви можете використовувати tc - програму управління трафіком. Він повинен бути стандартним у вашому дистрибутиві. Наприклад, щоб встановити максимальну швидкість завантаження (у цьому випадку 100 кбіт в секунду):

$ sudo tc qdisc add dev eth1 root tbf rate 100kbit latency 600ms burst 1540   

щоб встановити максимальну швидкість завантаження (у цьому випадку 500 кбіт в секунду):

$ sudo tc qdisc add dev eth0 root tbf rate 500kbit latency 600ms burst 1540

tc може зробити набагато більше, ніж це. Зараз я не можу знайти посилання, але ви можете скидати пакети тощо за допомогою tc. Щоб дізнатись більше, ви можете ознайомитись із інструкцією щодо управління дорожнім рухом .

Крім того, ви можете заглянути в tcng - Управління трафіком наступного покоління - для низького рівня використовується tc, але є трохи приємнішою мовою, щоб вказати, що ви робите. Я не користувався цим, але є посібник з tcng та інструкція з tcng .



2

DummyNet - це безкоштовне програмне забезпечення, яке можна використовувати для імітації різних мережевих умов. Якщо у вас є запасна машина, встановіть FreeBSD і DummyNet і покладіть її в лінію між вашим клієнтом і сервером. Потім ви можете налаштувати DummyNet, щоб змінити затримку, тремтіння та втрати, які ви відчуваєте.

РЕДАКТУВАТИ: просто перечитайте питання і зрозуміли, що не володієте вашою мережею. У цьому випадку налаштуйте DummyNet на машині з двома NIC та перетворіть його на маршрутизатор, який має вашу корпоративну мережу WAN з одного боку та вашу робочу станцію з іншого. Просто не забудьте спочатку поговорити з вашим ІТ-відділом, щоб переконатися, що вони не мають з вами жодних проблем!



1

Надіюсь, ви могли б створити плагін Fiddler, щоб імітувати щось подібне, але я не знаю рішення з коробки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.