Метрика для влияния приложения на сетевой трафик - PullRequest
1 голос
/ 18 мая 2009

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

Проблема в том, что у меня нет хорошего показателя для измерения этого воздействия. Я подумал о следующих, но ни один из них не является действительно «полным»:

  1. Увеличение среднего времени задержки для пакета
  2. Увеличение потери пакетов
  3. Увеличение джиттера
  4. Увеличение среднего времени выполнения транзакций tcp (загрузка файлов с использованием http)

Есть ли стандартная метрика? Есть ли у вас другие идеи о том, как измерить влияние приложения на сеть?

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

Спасибо

Роули

Ответы [ 3 ]

0 голосов
/ 18 мая 2009

Это один из тех вопросов, на которые может быть сложно ответить программно. В приложениях, которые я видел, разрешено такое регулирование, это всегда было параметром конфигурации. Как правило, слишком сложно узнать о сети вашего пользователя, любые предположения, которые вы сделаете, вероятно, будут неверными.

0 голосов
/ 18 мая 2009

Различные сети ведут себя по-разному, когда вы превышаете их пропускную способность. Большинство из них имеют череду плохих черт:

  1. Джиттер начнет распространяться сквозь крышу, поскольку некоторые пакеты должны быть поставлены в очередь или повторно переданы (например, при столкновениях в полудуплексной сети Ethernet или по беспроводной связи). Средняя задержка немного увеличится.
  2. По мере того, как перенасыщение продолжается (или при более высоких уровнях перенасыщения), средняя задержка будет проходить через крышу, поскольку почти все пакеты помещаются в очередь или повторно передаются. Это может быть ограничено, если размеры очереди малы.
  3. Потеря пакетов будет увеличиваться при переполнении очередей. Чем выше вы управляете пропускной способностью, тем больше пакетов будет потеряно. В зависимости от оборудования, дрожание и задержка могут уменьшаться или не снижаться.

Если используется какая-либо форма QoS, разные потоки пакетов могут видеть эти эффекты независимо. Например, вы можете увеличить пропускную способность соединения вашего приложения в 3 раза и увидеть относительно небольшое изменение времени пинга. Таким образом, вы должны сравнить с пакетами вашего приложения.

(1) и (2) могут отсутствовать в данной сети. (3) всегда будет происходить, несмотря ни на что. К сожалению, все три могут происходить даже тогда, когда вы не достигли предела пропускной способности.

0 голосов
/ 18 мая 2009

Traffic Engineering - довольно сложное поле. Качество обслуживания , вероятно, является хорошей отправной точкой для этой проблемы.

...