Использование сети – это объем пакетов данных, передаваемых в сетевой системе между приложениями, серверами, устройствами или процессами. В этой статье мы обсудим использование сети в компьютерных процессах и узнаем, как диагностировать, а также устранять потенциальные проблемы, связанные с ней.
Отслеживая использование технологической сети, мы можем определить процессы, которые используют необычно большую пропускную способность. Это позволяет нам устранить проблему и предотвратить использование процессом пропускной способности, которая может потребоваться другим процессам для выполнения их задач.
Общие показатели использования технологической сети
Понимание используемых показателей поможет нам более эффективно устранять неполадки. Вот некоторые из наиболее часто используемых показателей для мониторинга использования технологической сети:
- Общее количество пакетов: общее количество пакетов, отправленных или полученных в сетевой системе
- Общее количество байтов: общее количество байтов, переданных в сетевой системе
- Входящие пакеты: пакеты извне, поступающие в систему
- Входящие байты: данные в байтах, поступающие в систему извне
- Исходящие пакеты: пакеты, которые должны быть отправлены в другую систему
- Исходящие байты: данные в байтах, которые должны быть переданы в другую систему
Инструменты Linux для мониторинга использования технологической сети
Для эффективного мониторинга использования технологической сети можно использовать несколько инструментов сетевой экосистемы. Давайте рассмотрим (с примерами) наиболее часто используемые команды: vnstat, iftop, nethogs, nload, и iptraf.
Команда vnstat
Команда vnstat является популярным инструментом для мониторинга сетевого трафика на серверах Linux. vnstat предоставляет сетевую статистику о конкретных сетевых интерфейсах в сетевой системе.
Например, запустите
vnstat -m -i enp4s0
, чтобы получить ежемесячную статистику о сетевом интерфейсе с именем enp4s0.
Команда iftop
Команда iftop это инструмент командной строки, аналогичный vnstat который сетевые администраторы часто используют для проверки пропускной способности сетевых интерфейсов.
Например, чтобы отслеживать пропускную способность интерфейса enp4s0 в режиме реального времени, запустите
sudo iftop -i enp4s0
Пропускная способность сети, проходящая через этот интерфейс, будет постоянно обновляться.
Команда nethogs
Команда nethogs это еще один инструмент, используемый для мониторинга использования сети. Однако, в отличие от vnstat or iftop, nethogs, процессы в системе автоматически сортируются по используемой ими пропускной способности.
Например, чтобы определить, какой процесс использует большую часть пропускной способности в сети, запустите sudo nethogs
Процесс, использующий наибольшую пропускную способность, будет отображаться вверху.
Команда nload
nload это инструмент с открытым исходным кодом, который показывает сетевой трафик и пропускную способность в системе, обновляемые в режиме реального времени.
Например, чтобы проверить входящий и исходящий трафик, проходящий через сетевой интерфейс enp4s0, запустите
nload enp4s0
Команда iptraf
iptraf часто используется для мониторинга нагрузки сетевого трафика для сети с определенным интернет-протоколом (IP).
Например, чтобы проверить статистику TCP-подключений для сетевого интерфейса enp4s0, запустите
sudo iptraf-ng
, затем выберите сетевой интерфейс enp4s0.
Список IP-подключений и сетевой трафик, проходящий через каждый IP-адрес, показан на экране консоли.
Распространенные проблемы, связанные с использованием технологической сети
Необычно высокий объем трафика в процессе указывает на необходимость более тщательного управления текущим использованием сети в системе. Проблемы с использованием сети процессы могут обостряться и приводить к более серьезным проблемам в сети.
Перегрузка сети
Перегрузка сети возникает, когда в систему поступает большая нагрузка данных, когда текущая пропускная способность в сети недостаточна. Последствия, которые могут возникнуть в результате перегрузки сети, включают:
- Потеря пакетов: потеря данных, возникающая при передаче данных из одного места в другое
- Задержка в очереди: возникает при передаче пакета данных по сети. Когда данные отправляются из источника целевому объекту, пакет данных не обрабатывается сразу после достижения целевого объекта, а вместо этого помещается в очередь. Время, на которое пакеты данных приостанавливаются, пока они находятся в очереди, называется задержкой в очереди. Задержка зависит от трафика, количества узлов между источником и получателем и нагрузки данных, которую может обрабатывать маршрутизатор.
- Блокировка подключений: Происходит, когда объем трафика превышает возможности сетевой системы. В результате новые подключения к сети автоматически блокируются.
Высокая задержка
Задержка – это время, необходимое для передачи данных через сетевую систему. Если задержка высока, задержки существенно повлияют на удобство работы пользователя.
Высокая загрузка процессора
Проблемы с высокой загрузкой ЦП обычно возникают из-за того, что в системе запущено несколько служб или процессов, выполнение которых занимает больше времени из-за большого объема использования сети. Проблема может усугубиться, когда пропускная способность сети не справляется с нагрузкой.
Поиск основной причины —советы и исправления
Диагностика и устранение проблем с использованием технологической сети усложняются огромным количеством возможных причин. Несмотря на это, в большинстве случаев можно применить обычные исправления.
Локальная сетевая инфраструктура
В этом сценарии сеть настраивается локально; команда разработчиков программного обеспечения не зависит от облачной инфраструктуры сети, такой как AWS или Microsoft Azure. Если возникает проблема с производительностью сети, сначала проверьте маршрутизатор Wi-Fi. Производительность Wi-Fi можно оптимизировать, изменив конфигурацию маршрутизатора на режим моста в gateway или используя устройства с высокой пропускной способностью.
Аспект безопасности
Высокая загрузка сети вполне может быть связана с проблемами безопасности. Поэтому проверьте систему на наличие вредоносных программ, которые могут поглощать пропускную способность сети. Инструменты с открытым исходным кодом, такие как chkrootkit или ClamAV, помогают сканировать всю систему.
Найдите проблемный процесс
Если команда разработчиков исключила проблемы с безопасностью, следующим шагом будет идентификация процесса, использующего максимальную пропускную способность сети. Проблему могут усугублять несколько процессов; в этом случае список следует сузить до основных подозреваемых.
Узнайте, почему
Следующий шаг – определить, почему определенные процессы потребляют пропускную способность сети. Существует множество возможных причин, по которым служба может это делать — некоторые из них вытекают из бизнес-логики, которая выходит за рамки компетенции команды разработчиков. Причиной может быть большой объем вызовов ввода-вывода, слишком много запросов или процессов, используемых для потоковой передачи мультимедиа.
Возможные решения
Как только станет ясно, что является причиной проблемы с использованием технологической сети, все, что осталось, – это найти для нее решение. Допустим, это связано с большим количеством вызовов ввода—вывода – в этом случае код службы приложения может быть оптимизирован или может быть применен механизм кэширования для уменьшения количества запросов. Если причиной является потоковая передача мультимедиа, единственным решением является увеличение пропускной способности сети, чтобы соответствовать ожидаемому сетевому трафику.
Заключение
Проблемы с сетью могут возникать из-за нескольких различных факторов. В этой статье мы рассмотрели наиболее распространенные причины высокой загрузки технологической сети и узнали, как отслеживать и устранять неполадки. После выявления проблемного процесса можно предпринять шаги для предотвращения его влияния на другие запущенные службы в той же сетевой системе.