Странные сетевые задержки. Как искать причину?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

Странные сетевые задержки. Как искать причину?

Сообщение MiK13 »

Кратко об общей конфигурации.
Есть измеритель, выдаёт UDP пакеты. Выдаёт UDP пакеты. Парами. Скорость выдачи пар -- примерно 600 раз в секунду. Размер одного -- около 1.5 кб, другого -- около 200 байтов. Ещё в сети два АРМа. Один рядом, другой может быть далеко. На АРМах Debian Squeeze. Подключён через оптический кабель.
Сегодня (точнее, уже вчера:-)) обнаружил. На местном всё отображается нормально, на "удалённом" -- с тормозами. Причём, странными.
Вот результат "пингования" другого АРМа:

Код:

PING 10.177.15.78 (10.177.15.78) 56(84) bytes of data. 64 bytes from 10.177.15.78: icmp_req=1 ttl=64 time=82.0 ms 64 bytes from 10.177.15.78: icmp_req=2 ttl=64 time=47.2 ms 64 bytes from 10.177.15.78: icmp_req=3 ttl=64 time=15.5 ms 64 bytes from 10.177.15.78: icmp_req=4 ttl=64 time=118 ms 64 bytes from 10.177.15.78: icmp_req=5 ttl=64 time=84.6 ms 64 bytes from 10.177.15.78: icmp_req=6 ttl=64 time=49.7 ms 64 bytes from 10.177.15.78: icmp_req=7 ttl=64 time=126 ms 64 bytes from 10.177.15.78: icmp_req=8 ttl=64 time=92.4 ms 64 bytes from 10.177.15.78: icmp_req=9 ttl=64 time=57.6 ms 64 bytes from 10.177.15.78: icmp_req=10 ttl=64 time=22.1 ms 64 bytes from 10.177.15.78: icmp_req=11 ttl=64 time=125 ms 64 bytes from 10.177.15.78: icmp_req=12 ttl=64 time=90.6 ms 64 bytes from 10.177.15.78: icmp_req=13 ttl=64 time=56.6 ms 64 bytes from 10.177.15.78: icmp_req=14 ttl=64 time=21.8 ms 64 bytes from 10.177.15.78: icmp_req=15 ttl=64 time=0.577 ms 64 bytes from 10.177.15.78: icmp_req=16 ttl=64 time=0.399 ms 64 bytes from 10.177.15.78: icmp_req=17 ttl=64 time=0.716 ms 64 bytes from 10.177.15.78: icmp_req=18 ttl=64 time=0.596 ms 64 bytes from 10.177.15.78: icmp_req=19 ttl=64 time=0.604 ms 64 bytes from 10.177.15.78: icmp_req=20 ttl=64 time=0.644 ms 64 bytes from 10.177.15.78: icmp_req=21 ttl=64 time=0.580 ms 64 bytes from 10.177.15.78: icmp_req=22 ttl=64 time=115 ms 64 bytes from 10.177.15.78: icmp_req=23 ttl=64 time=82.0 ms 64 bytes from 10.177.15.78: icmp_req=24 ttl=64 time=47.6 ms 64 bytes from 10.177.15.78: icmp_req=25 ttl=64 time=14.3 ms 64 bytes from 10.177.15.78: icmp_req=26 ttl=64 time=117 ms 64 bytes from 10.177.15.78: icmp_req=27 ttl=64 time=82.7 ms 64 bytes from 10.177.15.78: icmp_req=28 ttl=64 time=47.2 ms 64 bytes from 10.177.15.78: icmp_req=29 ttl=64 time=127 ms 64 bytes from 10.177.15.78: icmp_req=30 ttl=64 time=92.4 ms 64 bytes from 10.177.15.78: icmp_req=31 ttl=64 time=58.1 ms 64 bytes from 10.177.15.78: icmp_req=32 ttl=64 time=23.1 ms 64 bytes from 10.177.15.78: icmp_req=33 ttl=64 time=128 ms 64 bytes from 10.177.15.78: icmp_req=34 ttl=64 time=94.1 ms 64 bytes from 10.177.15.78: icmp_req=35 ttl=64 time=60.6 ms 64 bytes from 10.177.15.78: icmp_req=36 ttl=64 time=0.457 ms 64 bytes from 10.177.15.78: icmp_req=37 ttl=64 time=0.476 ms 64 bytes from 10.177.15.78: icmp_req=38 ttl=64 time=0.596 ms 64 bytes from 10.177.15.78: icmp_req=39 ttl=64 time=0.484 ms 64 bytes from 10.177.15.78: icmp_req=40 ttl=64 time=0.496 ms 64 bytes from 10.177.15.78: icmp_req=41 ttl=64 time=0.675 ms 64 bytes from 10.177.15.78: icmp_req=42 ttl=64 time=0.577 ms 64 bytes from 10.177.15.78: icmp_req=43 ttl=64 time=0.576 ms 64 bytes from 10.177.15.78: icmp_req=44 ttl=64 time=119 ms 64 bytes from 10.177.15.78: icmp_req=45 ttl=64 time=86.1 ms 64 bytes from 10.177.15.78: icmp_req=46 ttl=64 time=51.5 ms 64 bytes from 10.177.15.78: icmp_req=47 ttl=64 time=16.6 ms 64 bytes from 10.177.15.78: icmp_req=48 ttl=64 time=119 ms

Первая мысль -- барахлит оптический канал. Соединили напрямую (Ethernet, Gigabit) -- тоже самое.
Вторая мысль -- кто-то есть процессорное время. top показал, что rsyslogd. dfпоказал, что на / Available 0. Стал искать, кто съел память. В /var/log нашёл три файла, kern.log, messages, syslog общим объёмом примерно 13 ГБ, каждый -- по 4 с лишним. (весь диск 15 ГиБ). Удалил их, перегрузил систему, стал наблюдать -- syslog стабильно и относительно быстро растёт.
tailf syslog показал непрерывный поток

Код: Выделить всё

Dec  5 16:10:43 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:43 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:43 ARM brltty[682]: Ignored Byte: F4
Dec  5 16:10:44 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:44 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:44 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:45 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:45 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:45 ARM brltty[682]: Ignored Byte: E6
Dec  5 16:10:46 ARM brltty[682]: Ignored Byte: F6
Dec  5 16:10:46 ARM brltty[682]: Ignored Byte: F6

Что за brltty? Спросил у Яндекса -- дисплей Брайля. Зачем он? Почему? Решил, что был запрос и при установке по ошибке ответил Yes.
Но причина была не в нём.
По требованию начальника переустановил систему. Ничего НЕ ИЗМЕНИЛОСЬ. blrtty по-прежнему был. Он опять встал с теми же сообщениями в syslog. Пришлось "выключить" в файле в /etc/init.d/ (просто в начало вставил exit 0) Но тормоза остались по-прежнему.
Хотелось бы понять КАК искать причину в подобных ситуациях?

P.S. Уже дома подумал, что "виноват" может быть первый АРМ (на котором всё работает нормально). Если отключаю измеритель (то есть нет активного трафика), то пинг стабильно нормальный (чуть больше 0.4 мс)
Аналогичная ситуация с тормозами была пару лет назад. Она не поддавалась простому логическому объяснению. Я даже собирался тут спрашивать про это. Но не собрался. Вспомнил, что тут может быть что-то похожее. Но уточню придя на работу.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Странные сетевые задержки. Как искать причину?

Сообщение MiK13 »

Пришёл на работу, Мысль о том, что это -- повторение старой ситуации (там на компьютерах вместо eth[01] был br0 не подтвердилась.
А ситуация стала ещё хуже:

Код:

PING 10.177.15.78 (10.177.15.78) 56(84) bytes of data. 64 bytes from 10.177.15.78: icmp_req=1 ttl=64 time=38.8 ms 64 bytes from 10.177.15.78: icmp_req=2 ttl=64 time=42.0 ms 64 bytes from 10.177.15.78: icmp_req=3 ttl=64 time=25.6 ms 64 bytes from 10.177.15.78: icmp_req=4 ttl=64 time=29.9 ms 64 bytes from 10.177.15.78: icmp_req=5 ttl=64 time=31.9 ms 64 bytes from 10.177.15.78: icmp_req=6 ttl=64 time=37.8 ms 64 bytes from 10.177.15.78: icmp_req=7 ttl=64 time=45.9 ms 64 bytes from 10.177.15.78: icmp_req=8 ttl=64 time=355 ms 64 bytes from 10.177.15.78: icmp_req=9 ttl=64 time=269 ms 64 bytes from 10.177.15.78: icmp_req=10 ttl=64 time=179 ms 64 bytes from 10.177.15.78: icmp_req=12 ttl=64 time=201 ms 64 bytes from 10.177.15.78: icmp_req=14 ttl=64 time=217 ms 64 bytes from 10.177.15.78: icmp_req=16 ttl=64 time=349 ms 64 bytes from 10.177.15.78: icmp_req=18 ttl=64 time=176 ms 64 bytes from 10.177.15.78: icmp_req=20 ttl=64 time=185 ms 64 bytes from 10.177.15.78: icmp_req=22 ttl=64 time=39.3 ms 64 bytes from 10.177.15.78: icmp_req=23 ttl=64 time=20.7 ms 64 bytes from 10.177.15.78: icmp_req=24 ttl=64 time=25.6 ms 64 bytes from 10.177.15.78: icmp_req=25 ttl=64 time=26.6 ms 64 bytes from 10.177.15.78: icmp_req=26 ttl=64 time=30.9 ms 64 bytes from 10.177.15.78: icmp_req=27 ttl=64 time=37.1 ms 64 bytes from 10.177.15.78: icmp_req=28 ttl=64 time=34.2 ms 64 bytes from 10.177.15.78: icmp_req=31 ttl=64 time=182 ms 64 bytes from 10.177.15.78: icmp_req=32 ttl=64 time=285 ms 64 bytes from 10.177.15.78: icmp_req=39 ttl=64 time=350 ms 64 bytes from 10.177.15.78: icmp_req=41 ttl=64 time=357 ms 64 bytes from 10.177.15.78: icmp_req=43 ttl=64 time=0.682 ms 64 bytes from 10.177.15.78: icmp_req=44 ttl=64 time=18.7 ms 64 bytes from 10.177.15.78: icmp_req=45 ttl=64 time=21.8 ms 64 bytes from 10.177.15.78: icmp_req=46 ttl=64 time=22.5 ms 64 bytes from 10.177.15.78: icmp_req=48 ttl=64 time=25.5 ms 64 bytes from 10.177.15.78: icmp_req=49 ttl=64 time=25.7 ms 64 bytes from 10.177.15.78: icmp_req=50 ttl=64 time=32.7 ms
Если вчера были периоды без потери пакетов и с пингом порядка 0.5 мс, то сегодня уже в эти же периоды пинг 20-30 мс, а в другие -- на порядок больше. И теряются и пинги.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Странные сетевые задержки. Как искать причину?

Сообщение MiK13 »

Проблема, в принципе, решилась.
Как оказалось, на одном из узлов стоят неуправляемые свичи, а на другом -- управляемые. И между ними происходит какой-то конфликт.
Отключили управляемые -- пакеты стали передаваться нормально.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Странные сетевые задержки. Как искать причину?

Сообщение Bizdelnick »

MiK13 писал(а):
06.12.2016 00:45
Пришлось "выключить" в файле в /etc/init.d/ (просто в начало вставил exit 0)

man update-rc.d
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить