Написать пост

ISC опубликовала инструмент мониторинга активности сетевых карт для Linux

Аватар Иван Паньшин

Новая утилита ethq позволяет собирать статистику для каждой очереди сетевой карты, что помогает лучше распределять нагрузку между ними.

Обложка поста ISC опубликовала инструмент мониторинга активности сетевых карт для Linux

ISC (Internet Systems Consortium) представила ethq — инструмент для Linux, позволяющий отслеживать активность сетевых карт. Каждую секунду он считывает статистику карты и преобразует абсолютные значения в байты и пакеты в секунду для каждой очереди. Поддерживается ограниченное количество драйверов: i40e, ixgbe, а также vmxnet3. Код инструмента можно найти на GitHub.

Как работает ethq?

Драйвера сетевых карт на Linux, как правило, содержат статистику о том, какое количество пакетов и байтов было передано и получено. Эту информацию можно получить с помощью утилиты ethtool командой ethtool -S enp5s0f1. Впрочем, драйвера содержат куда больший набор информации, поэтому для получения данных по очередям сетевой карты нужно воспользоваться, например, следующей командой:

			$ ethtool -S enp5s0f1 | grep '[rt]x-[0-9]'
   tx-0.tx_packets: 61122861442
   tx-0.tx_bytes: 10359359292618
   rx-0.rx_packets: 165894101718
   rx-0.rx_bytes: 12865093535024
   tx-1.tx_packets: 72709177633
   tx-1.tx_bytes: 11351345564539
   rx-1.rx_packets: 18640137236
   rx-1.rx_bytes: 1462729691538
   ...
		

Проблема состоит в преобразовании этих значений в статистику по очередям в реальном времени. Именно для этого и предназначен инструмент ethq. С его помощью можно видеть данные в следующем формате:

Почему это важно?

Сетевые карты часто имеют несколько очередей для передаваемых и принимаемых пакетов. Причем ядро Linux может быть настроено таким образом, что за каждую очередь отвечает определенное ядро CPU. Для достижения максимальной эффективности сети необходимо равномерно распределить нагрузку между очередями и ядрами процессора. Возможность собирать статистику — важный шаг в этом направлении.

Терминал Linux позволяет решать множество задач. Чтобы работать в нем, как профи, используйте подборку полезных команд.

Следите за новыми постами
Следите за новыми постами по любимым темам
518 открытий518 показов