2013-04-16 4 views
1

Я хочу представить задержку при доступе к некоторым файлам из моей системы, чтобы я мог измерять эффект латентности для моего приложения при доступе к данным из сети (имитируется с использованием модуля netem).Настройка netem на том же компьютере

я сделал следующее для достижения этой цели: -

Я использовал две машины Host1 и Host2, и я поместил файлы, которые будут доступны по заявке на Host1 жестком диске, который можно получить доступ с помощью /net/<login>/Host1/data и я launced мой приложение на Host2 и получило доступ к данным от Host1 по пути, указанному выше.

Я также ввел задержку на Host1 используя tc qdisc del dev eth0 root netem delay 20ms таким образом, что всякий раз, когда файлы доступны из Host2 приложения, доступ к данным из Host1 должны иметь задержку 20мс.

У меня есть пара сомнений:

  1. Есть ли способ, с помощью которого я мог бы запустить приложение на той же машине, где установлена ​​задержка. Я DONOT хочу, чтобы время ожидания для приложения, которое я буду запускать (Иногда приложение можно было получить с другого сервера, поэтому, если я запустил приложение на машине с задержкой, тогда также будет выполнено приложение). Итак, есть ли способ, которым я мог бы вводить задержку только для доступа к файлам.

  2. Выполняю правильное использование команды tc для тестирования моего сценария. Поэтому мне просто нужна конформация, правильно ли я использую команду tc.

+0

какой протокол для доступа к хосту Host1 из Host2 вы используете? NFS или выделенный протокол от вашего приложения? –

ответ

1

Просто чтобы быть ясно, netem предназначен для формирования трафика тестирования сети, а не трафик на жестком диске ...

  1. Вы можете ограничить свои правила netem для конкретного тестового порта на вашем локальном хосте по building a tree. Это довольно сложно, но возможно.

  2. Общий сценарий выглядит правильно для меня. Хост, обслуживающий ресурс, должен иметь на нем tc. Второй хост должен быть монитором/измерителем.

Смежные вопросы