Menu

Тестирование канала с помощью Iperf

Инструмент тестирования скорости - Iperf

Iperf - это инструмент для измерения и настройки производительности сети. Это кроссплатформенный инструмент, который может производить стандартизированные измерения производительности для любой сети. Iperf обладает клиентскими и серверными функциями и может создавать потоки данных для измерения пропускной способности между двумя концами в одном или обоих направлениях. Он был разработан командой поддержки распределенных приложений (DAST) Национальной лаборатории прикладных сетевых исследований (NLANR). Актуальная версия на сегодня - третья.

Статья на английском полностью.

Описание Iperf

Iperf мультиплатформенная программа, работающая в режиме клиент-сервер. Вы можете запустить сервер на Linux, а тестировать скорость, подключаясь к нему с Windows или Android. И наоборот. Достаточно при запуске выбрать режим, в котором он будет работать: сервер или клиент.

Iperf - это программное обеспечение с открытым исходным кодом, написанное на C, и оно работает на различных платформах, включая Linux, Unix, Windows (либо изначально, либо внутри Cygwin), OpenBSD, NetBSD, Android, Solaris и другие дистрибутивы Linux.
Доступность исходного кода позволяет пользователю тщательно изучить методологию измерения.

Iperf3 - это написанная с нуля программа, целью которой является создание меньшей и более простой базы кода и библиотечной версии функциональности, которую можно использовать в других программах. Он также включает в себя ряд функций, найденных в других инструментах, таких как nuttcp и netperf, но отсутствовавших в исходном iperf. К ним относятся, например, режим нулевого копирования и необязательный вывод в формате JSON. Обратите внимание, что iperf3 не имеет обратной совместимости с оригинальным iperf.
Iperf - это широко используемый инструмент тестирования сети, который может создавать потоки данных TCP и UDP и измерять пропускную способность сети, доступной между клиентом и сервером. Он поддерживает настройку различных параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах.

Каковы системные требования для запуска Iperf?

По словам разработчика, системные требования для запуска Iperf следующие:

  • Intel x86 или 100% совместимый процессор
  • 64 МБ оперативной памяти (RAM)
  • 100 МБ свободного места на жестком диске

Iperf - это кроссплатформенный инструмент, который может работать в различных операционных системах, включая Unix, Windows, OpenBSD, NetBSD, Android, Solaris и множество дистрибутивов Linux. Доступность исходного кода позволяет пользователю тщательно изучить методологию измерения.

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

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

Как установить Iperf на Linux на базе RPM?

Вот шаги по установке Iperf в Linux на базе RPM.

1) Обновите систему. Перед установкой Iperf рекомендуется обновить систему, чтобы убедиться в актуальности всех пакетов. Это можно сделать, выполнив следующую команду:

sudo yum update -y

2) После обновления системы Iperf можно установить с помощью следующей команды:

sudo yum install iperf -y

Iperf

3) Проверка. После завершения установки убедитесь, что Iperf установлен правильно, выполнив следующую команду:

iperf -v

При этом должна отображаться версия Iperf, которая установлена в системе.
Примечание: Описанные выше шаги характерны для дистрибутивов Linux на базе RPM, таких как Red Hat Enterprise Linux (RHEL), Rocky, AlmaLinux и Fedora. Процесс установки может отличаться для других дистрибутивов Linux.

Как установить Iperf на Linux на базе DEB?

Вот шаги по установке Iperf в Linux на базе DEB.
Откройте терминал: Чтобы установить Iperf в Linux на базе DEB, откройте терминал, нажав Ctrl+Alt+T на клавиатуре.
Обновите систему: Перед установкой Iperf рекомендуется обновить систему, чтобы убедиться в актуальности всех пакетов. Это можно сделать, выполнив следующую команду:

sudo apt update && sudo apt upgrade

После обновления системы Iperf можно установить с помощью следующей команды:

sudo apt устанавливает iperf

Проверьте установку: После завершения установки убедитесь, что Iperf установлен правильно, выполнив следующую команду:

iperf -v

При этом должна отображаться версия Iperf, которая установлена в системе.
Примечание: Описанные выше шаги характерны для дистрибутивов Linux на базе DEB, таких как Ubuntu, Debian и Mint. Процесс установки может отличаться для других дистрибутивов Linux.
Как устранить распространенные ошибки во время установки Iperf в Linux на базе Debian

Вот некоторые распространенные ошибки, которые могут возникнуть во время установки Iperf в Linux на базе Debian, и способы их устранения:
"Не удается найти пакет iperf": Эта ошибка возникает, когда диспетчеру пакетов не удается найти пакет Iperf в репозитории. Чтобы устранить эту ошибку, попробуйте обновить список пакетов, выполнив следующую команду:

sudo apt update && sudo apt upgrade

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

sudo add-apt-repository universe

Затем снова обновите список пакетов и установите Iperf, используя следующие команды:

sudo apt update
sudo apt install iperf

"Ошибка подключения: отказано в подключении": Эта ошибка возникает, когда клиенту Iperf не удается подключиться к серверу Iperf. Это может быть вызвано брандмауэром, блокирующим соединение, или тем, что сервер Iperf не запущен. Чтобы устранить эту ошибку, попробуйте выполнить следующее:

Убедитесь, что сервер Iperf запущен и прослушивает правильный порт.
Отключите все брандмауэры, которые могут блокировать соединение.
Убедитесь, что клиент Iperf использует правильный IP-адрес и порт для подключения к серверу.

Другие ошибки: Если вы столкнулись с другими ошибками во время установки Iperf, попробуйте выполнить поиск сообщения об ошибке в Интернете, чтобы найти решение. Репозиторий Iperf на GitHub и документация Linode являются хорошими ресурсами для устранения неполадок Iperf.
Таким образом, распространенные ошибки при установке Iperf в Linux на базе Debian можно исправить, обновив список пакетов, включив репозиторий universe, проверив конфигурации сервера и клиента Iperf и устранив любые проблемы с брандмауэром.

Как запустить тест?

Прежде всего, запустите серверную часть.

Давайте установим клиент под Windows:

winget install iperf3

Iperf

 

Откройте приложение iPerf Network Speed Test Benchmark и, указав IP-адрес сервера, запустите тест. Это графическое приложение на основе iperf от стороннего разработчика. Для получения оригинальной версии вам нужно зайти на официальный сайт и скачать консольную версию.

Распаковываем архив. Там будет приложение. Запустите cmd, перейдите в этот каталог и запустите тестирование:

iperf3 -c 8.8.8.8

Вы увидите всю информацию о процессе и результатах прямо там, в консоли. И все это в очень наглядной форме.

Результат Iperf очень удобен в использовании для мониторинга. Он может выводить результат работы в файл, в том числе в формате json.

iperf3 -c 85.192.40.40 --logfile log.txt -J

Затем результат может быть проанализирован любой системой мониторинга.

Но не увлекайтесь мониторингом полосы пропускания. Во-первых, это не очень надежные данные, так как результат зависит от многих параметров. Во-вторых, во время тестирования вы будете занимать весь канал, что может навредить работе других сервисов. Необходимо установить приоритеты для различных типов трафика. Но если вы настроите его и присвоите iperf самый низкий приоритет, то надежность тестов будет под вопросом. В общем, это нетривиальная задача. Я много раз обращался к ней и пришел к выводу, что лучше не делать этого автоматически. Тогда непонятно, как оценивать достоверность результатов и что с этим делать в такой ситуации. Речь идет о тестировании канала в Интернете. В локальной сети это сделать проще.

Iperf

Давайте рассмотрим еще несколько полезных параметров iperf. По умолчанию тестирование длится 10 секунд. Вы можете увеличить этот интервал, указав его в секундах:
iperf3 -c 85.192.40.40 -t 60
Вы можете указать количество передаваемых байт вместо времени. Пример для 50 Мб:
iperf3 -c 85.192.40.40 -n 50M
Вы можете запустить проверку в нескольких потоках для лучшего использования канала:
iperf3 -c 85.192.40.40 -P 4

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

Как интерпретировать результаты теста Iperf?

При интерпретации результатов теста Iperf важно понимать, что означают различные параметры и как их интерпретировать. Вот несколько ключевых моментов, которые следует учитывать.

Передача: это относится к объему данных, который был передан в течение тестового интервала, обычно измеряемому в байтах или мегабайтах.
Полоса пропускания: это относится к скорости, с которой передавались данные в течение тестового интервала, обычно измеряемой в битах в секунду (бит/с) или мегабитах в секунду (Мбит/с).
Дрожание: это относится к изменению задержки между пакетами, обычно измеряемому в миллисекундах (мс).
Потерянные/Общее количество дейтаграмм: это относится к количеству пакетов, которые были потеряны в течение тестового интервала, выраженному в процентах от общего количества отправленных пакетов.

Чтобы интерпретировать результаты теста Iperf, примите во внимание следующее:

Посмотрите на результаты измерения пропускной способности, чтобы определить скорость сетевого соединения.
Проверьте результаты дрожания, чтобы увидеть, есть ли какие-либо изменения в задержке между пакетами.
Проверьте результаты потерянных/суммарных дейтаграмм, чтобы узнать, были ли какие-либо потери пакетов во время теста.

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

В целом, интерпретация результатов теста Iperf требует понимания различных параметров и того, как они соотносятся с производительностью сети, а также понимания контекста теста.

Вывод

Системные администраторы могут воспользоваться преимуществами программного обеспечения Iperf несколькими способами:

  • Измерение пропускной способности сети: Iperf можно использовать для измерения доступной пропускной способности между двумя компьютерами, подключенными к сети. Это может помочь системным администраторам диагностировать проблемы со скоростью сети и убедиться, что доступная полоса пропускания достаточно велика для поддержки передачи приложения.
  • Тест приложений для перемещения данных: Iperf хорошо подходит для тестирования приложений для перемещения данных, таких как те, которые выполняют удаленное резервное копирование или синхронизацию баз данных. Измеряя максимальную пропускную способность между клиентской и серверной станциями, системные администраторы могут гарантировать эффективную работу этих приложений.
  • Проверьте пропускную способность локальной сети и беспроводной локальной сети: Iperf также можно использовать для измерения пропускной способности локальной сети и беспроводной локальной сети. Это может помочь системным администраторам выявить любые узкие места в сети и оптимизировать ее для повышения производительности.
    Тестирование облачных систем: Благодаря таким сервисам, как AWS, Microsoft Azure и Google Cloud, системные администраторы могут использовать Iperf для тестирования пропускной способности облачных систем. Это может помочь гарантировать эффективную работу системы и достаточность доступной полосы пропускания для поддержки требуемой рабочей нагрузки.
  • Проведение стресс-тестирования: Iperf можно использовать для проведения стресс-тестирования производительности канала интернет-провайдера, маршрутизатора, сетевого шлюза (брандмауэра), сети Ethernet или Wi-Fi. Это может помочь системным администраторам выявить любые слабые места в сети и оптимизировать ее для повышения производительности.

Таким образом, Iperf - это универсальный инструмент, который может использоваться системными администраторами для измерения пропускной способности сети, тестирования приложений для перемещения данных, тестирования пропускной способности локальной сети и беспроводной сети, тестирования облачных систем и проведения стресс-тестирования. Используя Iperf, системные администраторы могут оптимизировать сеть для повышения производительности и обеспечить эффективную работу системы.

Авторизуйтесь, чтобы получить возможность оставлять комментарии
Go to top