Пишу про kubernetes, terraform, linux, сети, автоматизации и полезные тулзы. Без спама и щитпостинга.
Хотите пообщаться? @devopsbrain_chat
Автор: @itcaat
Post #123
687

Dive in performance tools. Часть 3️⃣ [bmon / bandwhich / iptraf / iperf]
Продолжим разбирать утилиты, помогающие в диагностике проблем с производительностью. Сегодня коснемся сетей. Но я сразу хочу проговорить пару моментов:
1. Разобрать детально все возможные проблемы с сетью, которые могут повлиять на производительность, в рамках одной данной серии постов нереально. Поэтому остановимся на тулах с прямым уклоном в определении что, куда и зачем утилизирует сеть.
2. Помимо перечисленных ниже тулзов существует огромное множество альтернатив. Я же хочу остановиться на тех, которые мне кажутся наиболее полезными и имеют вменяемый TUI.
3. Я не буду описывать способы установки тулзов под каждый дистрибутив, а остановлюсь на демонстрации основных возможностей. Установку гуглится за пару секунд — не будем тратить на это время.
4. Чтобы не спамить в канал буду выкладывать каждый день по 1 туле из списка.
3️⃣.1️⃣ bmon
https://github.com/tgraf/bmon — утилита для мониторинга сетевого трафика в реальном времени. Она показывает скорость передачи данных, ошибки, потери пакетов и общую статистику по интерфейсам.
Позволяет быстро взглянуть на утилизацию с сети и понять, что происходит с сетью в целом. Если нажать d - то появится детальная статистика, которую мы сейчас разберем на примере. Разберем детально что именно показывает нижняя панель details.
Давайте посмотрим данные, на которые стоит обратить внимание.
▶️ Bytes — Показывает объем входящего и исходящего трафика в байтах.
▶️ Abort Error — Ошибки разрыва соединения между источником и получателем пакета.
▶️ Carrier Errors — Ошибки связи между устройствами, возникающие из-за несоответствия дуплекса или проблем с сигналом.
▶️ Collisions — Количество коллизий (конфликтов) при передаче данных между устройствами.
▶️ CRC Errors — Ошибки контрольной суммы (Cyclic Redundancy Check, CRC), возникающие из-за поврежденных пакетов.
▶️ Dropped — Количество пакетов, которые были отброшены из-за проблем с доставкой (например, перегрузка сети).
▶️ Errors — Общее количество ошибок в сети.
▶️ FIFO Errors — Ошибки очереди FIFO (First In, First Out) — возникают, когда сетевой интерфейс не успевает передавать данные и буфер заполняется.
▶️ Frame Error — Ошибки фрейма — поврежденные пакеты, вызванные сбоями в передаче данных.
▶️ Heartbeat Errors — Количество потерянных сигналов (heartbeat) между оборудованием или программными модулями, что может привести к проблемам синхронизации.
▶️ Length Error — Ошибки длины пакетов - когда длина в заголовке меньше минимально возможного размера.
▶️ Missed Error — Количество пакетов, пропущенных при передаче (обычно пакеты нумеруются для их восстановления).
▶️ No Handler — Количество пакетов, для которых не найден обработчик протокола.
▶️ Over Errors — Ошибки переполнения - когда буфер приема был переполнен или пакеты превышали максимальную длину фрейма.
▶️ Window Error — Количество пакетов, в которых размер окна (число октетов в заголовке) оказался некорректным и не может быть обработан.
💭 Анализ вывода bmon на примере из скриншота
В данном случае разберем конкретный сетевой интерфейс. На графике показано мы видим ходящий трафик (RX): примерно 780 KiBps. Исходящий трафик (TX): 3.76 MiBps. Вывод: сервер больше отправляет данных, чем получает. Это характерно для сервера - тут вопросов нет.
Явные проблемы:
- 18K потерянных пакетов (RX) — возможно, перегрузка интерфейса или дроп пакетов из-за политики очередей (QoS).
- 7.82K ошибок приема — проблемы могут быть на уровне сетевого оборудования или драйвера.
Из хороших новостей — нет ошибок передачи - сервер стабильно передает данные, но испытывает проблемы с приемом.
А на этом у меня все, а в следущих постах мы с вами детально разберем bandwhich, iptraf и iperf...stay tuned ⬇️
Продолжим разбирать утилиты, помогающие в диагностике проблем с производительностью. Сегодня коснемся сетей. Но я сразу хочу проговорить пару моментов:
1. Разобрать детально все возможные проблемы с сетью, которые могут повлиять на производительность, в рамках одной данной серии постов нереально. Поэтому остановимся на тулах с прямым уклоном в определении что, куда и зачем утилизирует сеть.
2. Помимо перечисленных ниже тулзов существует огромное множество альтернатив. Я же хочу остановиться на тех, которые мне кажутся наиболее полезными и имеют вменяемый TUI.
3. Я не буду описывать способы установки тулзов под каждый дистрибутив, а остановлюсь на демонстрации основных возможностей. Установку гуглится за пару секунд — не будем тратить на это время.
4. Чтобы не спамить в канал буду выкладывать каждый день по 1 туле из списка.
3️⃣.1️⃣ bmon
https://github.com/tgraf/bmon — утилита для мониторинга сетевого трафика в реальном времени. Она показывает скорость передачи данных, ошибки, потери пакетов и общую статистику по интерфейсам.
Позволяет быстро взглянуть на утилизацию с сети и понять, что происходит с сетью в целом. Если нажать d - то появится детальная статистика, которую мы сейчас разберем на примере. Разберем детально что именно показывает нижняя панель details.
Давайте посмотрим данные, на которые стоит обратить внимание.
▶️ Bytes — Показывает объем входящего и исходящего трафика в байтах.
▶️ Abort Error — Ошибки разрыва соединения между источником и получателем пакета.
▶️ Carrier Errors — Ошибки связи между устройствами, возникающие из-за несоответствия дуплекса или проблем с сигналом.
▶️ Collisions — Количество коллизий (конфликтов) при передаче данных между устройствами.
▶️ CRC Errors — Ошибки контрольной суммы (Cyclic Redundancy Check, CRC), возникающие из-за поврежденных пакетов.
▶️ Dropped — Количество пакетов, которые были отброшены из-за проблем с доставкой (например, перегрузка сети).
▶️ Errors — Общее количество ошибок в сети.
▶️ FIFO Errors — Ошибки очереди FIFO (First In, First Out) — возникают, когда сетевой интерфейс не успевает передавать данные и буфер заполняется.
▶️ Frame Error — Ошибки фрейма — поврежденные пакеты, вызванные сбоями в передаче данных.
▶️ Heartbeat Errors — Количество потерянных сигналов (heartbeat) между оборудованием или программными модулями, что может привести к проблемам синхронизации.
▶️ Length Error — Ошибки длины пакетов - когда длина в заголовке меньше минимально возможного размера.
▶️ Missed Error — Количество пакетов, пропущенных при передаче (обычно пакеты нумеруются для их восстановления).
▶️ No Handler — Количество пакетов, для которых не найден обработчик протокола.
▶️ Over Errors — Ошибки переполнения - когда буфер приема был переполнен или пакеты превышали максимальную длину фрейма.
▶️ Window Error — Количество пакетов, в которых размер окна (число октетов в заголовке) оказался некорректным и не может быть обработан.
💭 Анализ вывода bmon на примере из скриншота
В данном случае разберем конкретный сетевой интерфейс. На графике показано мы видим ходящий трафик (RX): примерно 780 KiBps. Исходящий трафик (TX): 3.76 MiBps. Вывод: сервер больше отправляет данных, чем получает. Это характерно для сервера - тут вопросов нет.
Явные проблемы:
- 18K потерянных пакетов (RX) — возможно, перегрузка интерфейса или дроп пакетов из-за политики очередей (QoS).
- 7.82K ошибок приема — проблемы могут быть на уровне сетевого оборудования или драйвера.
Из хороших новостей — нет ошибок передачи - сервер стабильно передает данные, но испытывает проблемы с приемом.
А на этом у меня все, а в следущих постах мы с вами детально разберем bandwhich, iptraf и iperf...stay tuned ⬇️
- 🔥 9
- 👍 7
- 👌 1















