Назад | Перейти на главную страницу

Проверка количества пакетов в секунду узким местом?

У меня есть сетевое соединение «100 Мб», которое в настоящее время стабильно передает около 20 тыс. Пакетов / сек, независимо от размера пакета в диапазоне 300-600 байт. Это дает наблюдаемую полосу пропускания 25-98 МБ. Мне постоянно говорят, что, поскольку мы не достигли предела пропускной способности, у нас нет проблем с линией. Я не согласен.

Это соединение, в среднем, работает на 60% от максимальной теоретической скорости PPS для линии 100 Мб (медный Ethernet), с учетом размера пакета. (Хотя горлышко бутылки 100 Мбайт - это оптоволокно неизвестного типа, поэтому я не думаю, что какой-либо оптический протокол лучше, чем медный с межпакетным промежутком).

Моя проблема - без доступа к маршрутизаторам или оптоволоконному оборудованию (предоставляется третьими сторонами, ничего не поделать), как я могу доказать, что мы ограничены пакетами? В идеале, не вызывая массовых сбоев в процессе :)

Соберите трафик с помощью tcpdump или аналогичного инструмента и создайте график количества пакетов за единицу времени. Если ваше предположение верно, вы должны увидеть четкий потолок для количества пакетов.

Вы можете смоделировать пример счетчика, генерируя много больших пакетов с чем-то вроде ping -s 1472 -f, это может вызвать небольшой сбой, поэтому, возможно, не делайте этого во время пиков трафика. Но 30 секунд могут быть приемлемыми для решения более крупной задачи - решать вам.

Переключатель также может быть узким местом. Особенно дешевый роутер или черный ящик. Это был наиболее частый случай для сети WAN, над которой я работал. Минимальным стандартом для такого трафика была линейка HP ProCurve. Даже старая Cisco тоже была в порядке. Но вы должны это проверить.

Также полезно упомянуть, что среди интернет-провайдеров мы обычно использовали практическое правило, согласно которому 60% используемая линия была полностью насыщенной линией. Причина в том, что насыщенность в основном средняя за некоторый период времени. Но на более коротком временном интервале у вас могут возникнуть перегрузки из-за попытки отправить слишком много пакетов в один и тот же момент, что приведет к увеличению задержки. Также измерьте задержку. Wireshark - хороший инструмент для такого быстрого анализа.

И последнее, но не менее важное: я не видел никакого трафика, который мог бы полностью заполнить линию, кроме ping -s 1472 -f на пустой строке. Если у вас есть несколько подключений, вы получаете неэффективность, которая приводит к снижению использования. По сути, 100 Мбит - это теоретический предел в идеальных условиях. Таким образом, оператор линии может быть прав, и обновление линии может быть правильным решением.