Определяем пропускную способность сети с помощью Iperf

Июль, 03rd 2019Рубрика: *NIX | Windows | Советы 14715
Подписаться на комментарии по RSS

Определяем пропускную способность сети с помощью Iperf

Как определить реальную скорость сети Интернет или канала связи? Первое, что приходит на ум, воспользоваться онлайн-сервисом типа SPEEDTEST или Яндекс.Интернетометр. Однако, для компьютера или ноутбука, находящегося в локальной сети, ориентироваться на показатели подобных тестов не стоит.

Напомню о некоторых моментах, на которые стоит обратить внимание при тестировании. Кроме вас в сети имеются и другие пользователи, потому лучше всего проводить измерения либо непосредственно на роутере, либо отключив всех остальных пользователей. Стоит учитывать и тот факт, что в локалке могут быть выставлены собственные лимиты для подключений или вы будете ограничены скоростью работы Wi-Fi. Но это касается только Интернет. А как быть в случае, когда нужно узнать скорость передачи данных между отдельными компьютерами или реальную скорость обмена данными с сервером?

Например, в Windows имеется встроенное средство для мониторинга сети, в реальном времени показывающее нагрузку на сетевых интерфейсах, но делается он это тоже весьма условно. Для более точного измерения скорости обмена данными между компьютерами существует специальная кроссплатформенная утилита iperf. Она работает в режиме клиент-сервер и не требует установки (достаточно просто скопировать ее на два компьютера).

Измерение скорости сети с помощью утилиты iperf

Так как Iperf не входит в стандартный дистрибутив Windows, его необходимо скачать отдельно. Во всех unix-подобных системах (Linux, FreeBSD) iperf можно легко найти в репозиториях.

скачать утилиту iperf

Утилита iperf работает в клиент-серверном режиме, то есть на одном конце запускается в режиме «сервер», а на втором в режиме «клиент», который и генерирует трафик для измерения скорости. Общий вид использования утилиты выглядит так:

iperf [-s|-c host] [options]

В самом простом случае (он же и основной) запуск iperf происходит из командной строки следующим образом:

iperf -s — на сервере.
iperf -c XX.XX.XX.XX — на клиенте, где XX.XX.XX.XX — IP-адрес сервера.

В сети много описаний более старые версии, в которых по умолчанию тестируется только входящий или исходящий трафик. Я же рекомендую использовать современную версию iPerf 3.1.3, где сразу выдаётся нужный результат без дополнительных ключей.

запуск iperf на macOS в режиме сервера

Подробнее о ключах запуска можно узнать, запустив iperf с параметром -h. Какие-то из них подходят только для клиента, какие-то для сервера, есть и общие. Вот некоторые из них:

  • -s, --server — запустить как сервер и отображать всю информацию на экран;
  • -c, --client — запустить как клиент и соединиться с сервером;
  • -p, --port — порт, по которому будет происходить соединение (по умолчанию 5001);
  • -D, --daemon — запустить как сервис (в фоновом режиме);
  • -f, --format — в каком формате показывать скорость (Kbits, Mbits, KBytes, MBytes);
  • -h, --help — вывод справки.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Комментариев: 2

  1. 2019-07-05 в 13:08:31 | Дмитрий

    попробовал, прикольно, спасибо

  2. 2019-07-06 в 23:09:02 | NoName

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

ваш комментарий будет опубликован после проверки
на указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.