Разное

Iperf3 команды: Как: измерить пропускную способность сети и диска с помощью IPERF3

30.12.1989

Содержание

Как: измерить пропускную способность сети и диска с помощью IPERF3

FileCatalyst — это инструмент для ускорения передачи файлов. Как и любое программное обеспечение, оно по-прежнему ограничено производительностью оборудования и сети, в которой оно используется. Если вы пытаетесь достичь скорости выше 1 Гбит / с с помощью FileCatalyst, читайте дальше.

Если вы уже знаете, что вам нужно передавать файлы быстрее, чем 1 Гбит / с, перед установкой FileCatalyst используйте IPERF3, чтобы убедиться, что ваша система чистая и не имеет узких мест.

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

Узкие места могут возникать при попытке передать файлы в разные места и из них. Низкая пропускная способность может произойти либо на уровне сети, либо на уровне хранилища (обычно при записи и чтении с диска). IPERF3 помогает устранить эти проблемы еще до установки FileCatalyst. IPERF3 также можно использовать для проверки правильности настройки вашего брандмауэра, чтобы FileCatalyst работал с оптимальной скоростью.

Зондирование IPERF3 сэкономит много времени при установке и настройке FileCatalyst, настройке брандмауэра и конфигурации хранилища. Поэтому мы рекомендуем очистить журналы IPERF3 перед попыткой установки FileCatalyst.


Предпосылки
  • Установите инструменты IPERF3 на машины, которые вы хотите протестировать.
  • Имейте доступ к обеим машинам, на которых вы будете запускать тесты. Также мы рекомендуем использовать те же машины, на которых будут установлены FileCatalyst Server и FileCatalyst Client.
  • Убедитесь, что вы разрешаете трафик UDP (чтобы гарантировать, что мы сможем использовать ускорение).

Мы рекомендуем запускать IPERF3 в следующих двух сценариях:

  1. Для новых установок и при проведении апробации концепции (POC).
  2. Для устранения проблем с производительностью.

Связанные Чтение: Что такое IPERF и в чем разница между IPERF и IPERF3?


Синтаксис командной строки IPERF3

 Общий синтаксис для запуска теста описан ниже:

  1. Команды на стороне сервера: iperf3 -s [ опции ]
  2. Команды на стороне клиента: iperf3 -c [ опции ]

Где перечислены некоторые из вариантов:

Общие команды IPERF3:

Параметр командной строки IPERF3Описание
-f, –format [кмКМ]

 

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

‘k’ = Кбит / сек ‘K’ = КБайт / сек

‘m’ = Мбит / с ‘M’ = МБит / с

-J, –JsonВывод в формате JSON

Серверные команды IPERF3:

Параметр командной строки IPERF3Описание
-F, -имя файлаНа стороне сервера: чтение из сети и запись в файл, а не выбрасывание данных.

Клиентские команды IPERF3:

Параметр командной строки IPERF3Описание
-F, -имя файлаНа стороне клиента: чтение из файла и запись в сеть вместо использования случайных данных;
-у, –удпИспользуйте UDP, а не TCP.
-b, – пропускная способность n [км]Установите целевую полосу пропускания на n бит / сек (по умолчанию 1 Мбит / сек для UDP, без ограничений для TCP). Если имеется несколько потоков (флаг -P), ограничение полосы пропускания применяется отдельно к каждому потоку.
Обязательно при тестировании UDP
-R, – реверсЗапуск в обратном режиме (сервер отправляет, клиент получает).
-t, –время nВремя в секундах для передачи. По умолчанию 10 секунд.


Чтобы получить больше информации
, посетите официальный сайт: https://iperf.fr/iperf-doc.php#3doc

пожалуйста, обратите внимание для теста, указанного в следующем разделе, используемый сервер имеет IP-адрес 172.20.7.22, а клиент — IP-адрес 172.20.5.200.

Сетевые тесты: примеры IPERF3

Пропускная способность UDP:

сервер: иперф -с

Клиент: iperf3 -c 172.20.7.22 -P 2 -t 10 -b 1G -u

С этими результатами мы можем увидеть:

  • Потеря пакетов
  • Если UDP-трафик разрешен
  • Сетевой джиттер (Джиттер — это изменение задержки полученных пакетов в результате перегрузки сети, неправильной организации очереди и т. Д.)

Пропускная способность TCP:

При определенных обстоятельствах нам может потребоваться проверить пропускную способность TCP, скорее всего, для проверки многопоточного поведения TCP. Если это необходимо, вы можете использовать приведенные ниже примеры в качестве справки.

сервер: iperf3 -s

Клиент: iperf3 -c 172.20.7.22 -P 2 -t 30. Этот тест запустит 2 потока TCP в течение 30 секунд.

Дисковые тесты: примеры IPERF3

Тестирование диска с использованием IPERF3: Disk to Memory

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

  • Использование другого файла при каждом запуске ИЛИ
  • Используйте команду, чтобы очистить кеш от плиток:
    синхронизация; echo 3> / proc / sys / vm / drop_caches ** (как пользователь root)
    Используйте правильную команду для вашей ОС

Для этого теста использовались файлы размером 52 ГБ и 20 ГБ, передаваемые от клиента к серверу.

Для первого теста запустите тест, как мы делали до этого, используя следующие команды:

  • Сервер: iperf3 -s
  • Клиент: iperf3 -c 172.20.7.22 -i2 -t30 -b 1G -u

Используя файл размером 20 ГБ:

сервер: iperf3 -s

Клиент: iperf3 — c 172.20.722 -f /home/administrator/Desktop/20GB0..mov -i2 -u -b 1G -t30


Используя файл размером 52 ГБ:

сервер: iperf3 -s


Клиент:
iperf3 -c 172.20.7.22 -f /home/administrator/Desktop/52GB0.mov -i2 -u -b 1G -t30

Тестирование диска с использованием IPERF3: память на диск

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

сервер: iperf3 -s -f /home/administrator/Desktop/52GB0.mov
Клиент: iperf3 -c 172.20.7.22 -i2 -u -b 1G -t30

Важная заметка: и тест 3, и тест 4 будут выполняться до конца файла или до конца продолжительности теста, и самый медленный из результатов покажет узкое место.

Посмотрите, как FileCatalyst подходит вашей организации

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

Начать бесплатную пробную версию

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

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

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

Все следующие команды выполняются в командной строке Windows (cmd). Вызвать командную строку можно следующими способами:

Пуск -> Все программы -> Стандартные -> Командная строка или Пуск -> Выполнить и ввести имя программы cmd

Для запуска сервера нужно запустить программу iperf3 с параметром -s : iperf3 -s
Для запуска клиента и начала тестирования нужно запустить iperf3 с параметром -c <server>
Параметр <server> может быть IP-адресом или именем компьютера, на котором запущен сервер iperf3

Вы можете запустить сервер на одном компьютере, а клиент на втором, указав в параметрах сервера ip-адрес первого компьютера, и протестировать пропускную способность Вашей локальной сети.

Наш сервер уже запущен и доступен по адресу iperf.donapex.net

Для запуска простого теста, достаточно ввести в командной строке следующую команду: iperf3 -c iperf.donapex.net
Эта команда запустит тестирование исходящей скорости.

 

Для тестирования входящей скорости необходимо в команду добавить ключ -R (reverse mode): iperf3 -c iperf.donapex.net -R

 

Расширенные параметры тестирования.

Что-бы указать длительность тестирования используется ключ -t <сек>: iperf3 -c iperf.donapex.net -R -t 60

В данном примере устанавливается длительность тестирования – 1 минута.

 

По умолчанию скорость тестирования не ограничивается. Для ограничения максимальной скорости теста используется ключ -b <бит/сек>. Можно использовать модификаторы: K – Килобит, M – Мегабит, G – Гигабит, например -b 20M – соответствует ограничению 20 Мегабит/сек.

Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 20M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

 

Тест входящей скорости с ограничением 50 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 50M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 50%.

 

Иногда, по ряду причин, невозможно добиться полной скорости в один поток. Поэтому в iperf предусмотрен многопоточный режим работы. Чтоб указать количество потоков используется параметр -P <n>
Можно указывать один и более потоков, например запуск тестирования в 2 потока будет выглядеть так: iperf3 -c iperf.donapex.net -R -t 60 -P 2

 

Тестирование UDP трафиком.

По умолчанию программа iperf3 использует TCP протокол. Протокол UDP, в отличии от TCP, не использует алгоритмы контроля доставки пакетов и контроля скорости передачи, и имеет немного другое поведение в сети, чем TCP траффик.
Т.к. UDP не контролирует скорость передачи – это должна делать программа, передающая трафик. Поэтому в UDP тесте по умолчанию устанавливается ограничение максимальной скорости 1 Мегабит/сек. Изменить это ограничение можно при помощи ключа -b

Не следует указывать слишком большую максимальную скорость, это может привести к перегрузке сети. В данном типе теста лучше держать этот параметр в пределах до 100 Мегабит.

Указать iperf3, что следует использовать UDP протокол можно при помощи параметра -u

Тест исходящей скорости с ограничением 30 Мегабит/сек: iperf3 -c iperf.donapex.net -t 60 -b 30M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 30%.

 

Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 15M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

 

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

 

Для более полного тестирования желательно провести несколько тестов: с ограничением скорости меньшей тарифной, с ограничением скорости равной тарифной, без ограничения скорости.

Измерение пропускной способности вашей Wi-Fi и Ethernet сети с помощью iPerf

Для просмотра всех возможных параметров с описанием (на английском), достаточно запустить iperf без параметров.

В большинстве случаев вполне достаточно запуска c параметрами по умолчанию, как это указано выше в разделе «Использование», для тонкой настройки привожу описание всех параметров iPerf3:

Общие:

-p, —port #  установить порт для прослушивания/подключения (по умолчанию 5001 для iperf2 и 5201 для iperf3)

-f, —format [kmgKMG]  формат отчёта: Kbits, Mbits, KBytes, MBytes

-i, —interval #  пауза между периодическими отчётами, в секундах

-F, —file name указывает файл который будет передаваться в качестве нагрузки вместо псевдослучайной последовательности

-A, —affinity n/n,m  запуск с привязкой к конкретному ядру процессора (только для linux)

-B, —bind <host>  привязка к хосту, интерфейсу или групповому адресу

-V, —verbose  вывод подробной информации

-J, —json  вывод в JSON формате

—logfile f  вывод лога в файл

 -d, —debug  вывод дополнительной информации для отладки

 -v, —version  вывод версии

 -h, —help вывод списка параметров

Только для сервера:

 -s, —server  запуск в режиме сервера

 -D, —daemon  запуск в режиме сервера как процесс (демон)

 -I, —pidfile file  создать PID файл

 -1, —one-off  закрыть сервер после отработки одного подключения

Только для клиента:

 -c, —client <host> запуск в режиме клиента и подключиться к серверу по адресу <host>

 -u, —udp использовать UDP, вместо TCP

 -b, —bandwidth #[KMG][/#]  задать пропускную способность в бит/сек (по умолчанию без ограничений для TCP и 1 Мбит/сек. для UDP)

 -t, —time #  длительность измерения в секундах (по умолчанию 10 сек)

 -n, —bytes #[KMG]  количество байт, после передачи которых остановить измерение (вместо длительности по времени -t)

 -k, —blockcount #[KMG]  количество блоков (пакетов), после передачи которых остановить измерение (вместо длительности -t или объема -n)

 -l, —len #[KMG]  размер буфера для записи/чтения (по умолчанию 128 KB для TCP и 8 KB для UDP)

 —cport <port>  задать локальный порт подключения (по умолчанию рандомный порт)

 -P, —parallel #  количество параллельных потоков

 -R, —reverse запуск в обратном направлении (сервер будет отправлять, клиент принимать

 -w, —window #[KMG]  размер TCP window size / размер буфера

 -C, —congestion <algo> выбрать алгоритм управления перегрузками TCP (только Linux и FreeBSD)

 -M, —set-mss #  задать максимальный размера сегмента TCP/SCTP (MTU-40 байт)

 -N, —no-delay задать TCP без задержки (отключение алгоритма Нэйгла)

 -4, —version4  использовать только IPv4

 -6, —version6  использовать только IPv6

 -S, —tos N  задать «тип сервиса» IP

 -L, —flowlabel N  задать IPv6 flow label (только Linux)

 -Z, —zerocopy использовать «zero copy» метод передачи данных (меньше загрузка CPU)

 -O, —omit N  не учитывать измерение первых N секунд

 -T, —title str  префикс для каждой выводимой строки

 —get-server-output  выводить результаты серверной части

Тестирование скорости

Iperf с компьютера

Для проверки скорости интернет можно воспользоваться программой iperf

Iperf — это инструмент для измерения максимальной пропускной способности TCP, что позволяет
настраивать различные параметры и UDP характеристики. Iperf отчеты пропускной способности,
задержки, джиттер, потери датаграмм.

Iperf3 рекомендуем скачать с сайта разработчиков iperf3

Рекомендованная версия 3.1.3

Рекомендуемая команда тестирования Входящей скорости (Downstream) для протокола TCP:

iperf3 -c 82.200.209.194 -i 5 -t 60 -R -P 5 -p 5200 (порты с 5200 до 5209)

Рекомендуемая команда тестирования Иходящей скорости (Upstream) для протокола TCP:

iperf3 -c 82.200.209.194 -i 5 -t 60 -P 5 -p 5200 (порты с 5200 до 5209)

Рекомендуемая команда запуска для протокола UDP:

iperf3 -c 82.200.209.194 -u -i 5 -l 128B -t 60 -b 5.0M -R -p 5200 (порты с 5200 до 5209)

Iperf версии 3 позволяет обслуживать одновременно только 1 клиента. Если выходит ошибк вида: «iperf3: error — the server is busy running a test. try again later» то рекомендую сменить порт. Доступные порты 5200-5209.

-c — IP или DNS имя сервера
-R — Реверсный режим (Сервер отправляет, клиент получает)
-u — Использование UDP вместо TCP
-b — UDP нагрузка для передачи в бит/сек. Это подразумевает опцию -u. Значение по умолчанию 1 Мбит/сек
В данном примере нагрузка равна 5Мбит/с. Выставляйте верное значение,
т.к. от этого зависят результаты теста

-P — Количество одновременных подключений, устанавливаемых на сервер
-i — Задает интервал времени в секундах для отображения
-p — порт сервера.
-f — вывод информации в виде:

‘b’ = бит/сек ‘B’ = (байт/сек)
‘k’ = Кбит/сек ‘K’ = Кбайт/сек
‘m’ = Mbits/sec ‘M’ = Мбайт/сек
‘g’ = Гбит/сек ‘G’ = Gb/sec
‘a’ = адаптивной бит/сек ‘A’ = адаптивной байт/сек

«Послушай, Матиас, что бы ты сказал администраторам, которые хотят вести мониторинг пропускной способности?»

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

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

Все следующие команды выполняются в командной строке Windows (cmd). Вызвать командную строку можно следующими способами: Пуск -> Все программы -> Стандартные -> Командная строка или Пуск -> Выполнить и ввести имя программы cmd

Для запуска сервера нужно запустить программу iperf3 с параметром -s : iperf3 -s
Для запуска клиента и начала тестирования нужно запустить iperf3 с параметром -c
Параметр может быть IP-адресом или именем компьютера, на котором запущен сервер iperf3

Вы можете запустить сервер на одном компьютере, а клиент на втором, указав в параметрах сервера ip-адрес первого компьютера, и протестировать пропускную способность Вашей локальной сети.

Наш сервер уже запущен и доступен по адресу iperf.donapex.net

Для запуска простого теста, достаточно ввести в командной строке следующую команду: iperf3 -c iperf.donapex.net
Эта команда запустит тестирование исходящей скорости.

Для тестирования входящей скорости необходимо в команду добавить ключ -R (reverse mode): iperf3 -c iperf.donapex.net -R

Расширенные параметры тестирования.

Что-бы указать длительность тестирования используется ключ -t : iperf3 -c iperf.donapex.net -R -t 60
В данном примере устанавливается длительность тестирования — 1 минута.

По умолчанию скорость тестирования не ограничивается. Для ограничения максимальной скорости теста используется ключ -b . Можно использовать модификаторы: K — Килобит, M — Мегабит, G — Гигабит, например -b 20M — соответствует ограничению 20 Мегабит/сек.

iperf3 -c iperf.donapex.net -R -t 60 -b 20M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

Тест входящей скорости с ограничением 50 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 50M
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 50%.

Иногда, по ряду причин, невозможно добиться полной скорости в один поток. Поэтому в iperf предусмотрен многопоточный режим работы. Чтоб указать количество потоков используется параметр -P
Можно указывать один и более потоков, например запуск тестирования в 2 потока будет выглядеть так: iperf3 -c iperf.donapex.net -R -t 60 -P 2

Тестирование UDP трафиком.

По умолчанию программа iperf3 использует TCP протокол. Протокол UDP, в отличии от TCP, не использует алгоритмы контроля доставки пакетов и контроля скорости передачи, и имеет немного другое поведение в сети, чем TCP траффик.
Т.к. UDP не контролирует скорость передачи — это должна делать программа, передающая трафик. Поэтому в UDP тесте по умолчанию устанавливается ограничение максимальной скорости 1 Мегабит/сек. Изменить это ограничение можно при помощи ключа -b

Не следует указывать слишком большую максимальную скорость, это может привести к перегрузке сети. В данном типе теста лучше держать этот параметр в пределах до 100 Мегабит.

Указать iperf3, что следует использовать UDP протокол можно при помощи параметра -u

Тест исходящей скорости с ограничением 30 Мегабит/сек: iperf3 -c iperf.donapex.net -t 60 -b 30M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 30%.

Тест входящей скорости с ограничением 20 Мегабит/сек: iperf3 -c iperf.donapex.net -R -t 60 -b 15M -u
В диспетчере задач можно видеть степень загрузки сети, для сети 100 Мегабит загрузка будет около 20%.

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

Для более полного тестирования желательно провести несколько тестов: с ограничением скорости меньшей тарифной, с ограничением скорости равной тарифной, без ограничения скорости.

Частные пользователи: Многие частные пользователи заинтересованы в определении того, какая пропускная способность имеется в их распоряжении. Говоря точнее, их интересует, предоставляется ли им на самом деле пропускная способность, которую гарантирует поставщик услуг Интернета. В этом контексте многие потребители тестируют скорость подключения, пропускную способность DSL, а также сотовых телефонов и планшетов.

  • Помимо программы PRTG, которую, разумеется, можно использовать для этой цели, вы можете выполнить простой тест скорости проводного подключения, который предлагается в сети на множестве разных сайтов. Начните использовать наш диспетчер пропускной способности в своей сети.

Профессиональные среды: В профессиональных средах (на предприятиях и в крупных организациях) последствия сокращения пропускной способности являются значительно более серьезными. Перебои ведут к простоям части сотрудников и клиентов, что, в свою очередь, приводит к потере прибыли. Администраторы должны быстро выявлять и устранять «пожирателей» пропускной способности.

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

Измерение пропускной способности:


три ситуации,
в которых вам пригодится PRTG

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

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

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

Программа PRTG позволит вам быстро определить потенциальные причины перегрузки пропускной способности и локализовать причины сбоев. Перегрузка единственного компонента сети может быстро привести к значительному снижению пропускной способности.


“Все мы можем спокойно работать, зная, что ведется непрерывный мониторинг наших систем.”

Mаркус Пуке, сетевой администратор, клиника «Шюхтерманн» (Германия)

Снимки экрана
Вот как выглядит мониторинг
пропускной способности в PRTG

PRTG ДЕЛАЕТ ВАШУ ЖИЗНЬ ПРОЩЕ!

Предоставьте программе PRTG круглосуточное тестирование и измерение пропускной способности вашей сети.
Сосредоточьтесь на более важных делах.

PRTG ЭКОНОМИТ ВРЕМЯ

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

PRTG бережет НЕРВЫ

Установить PRTG легко и быстро. Благодаря наличию более 200 готовых сенсоров начать работу с программой или перейти на нее с другого инструмента мониторинга пропускной способности и работы сети очень просто.

PRTG ЭКОНОМИТ ДЕНЬГИ

PRTG стоит своих денег. 80 % наших клиентов говорят о том, что смогли добиться экономии в сфере управления сетью. А затраты на лицензии PRTG окупаются в среднем всего за три с половиной месяца.

Пример клиента:


В системе железнодорожных перевозок Австрии используется PRTG

«Для обеспечения работы важнейших приложений огромнейшее значение имеет постоянное и бесперебойное функционирование сети передачи данных компании ÖBB Infrastruktur AG. Для воплощения этого в жизнь руководство приняло решение установить PRTG Network Monitor. Программа PRTG используется для мониторинга пропускной способности центральных маршрутизаторов и коммутаторов в сети передачи данных, что позволяет администраторам определять наиболее важные ключевые параметры использования и доступности . Всего для мониторинга используется несколько тысяч сенсоров, которые регулярно запрашивают необходимые значения.»

Методы мониторинга пропускной способности PRTG

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

Тестирование пропускной способности: используйте PRTG для успешной проверки!

Хотели бы вы знать, предоставляет ли ваш поставщик услуг Интернета обещанную пропускную способность на самом деле? Тогда вы, как и многие администраторы, вероятно, часто выполняете проверки соглашения об уровне обслуживания. Но как вы тестируете пропускную способность? Здесь есть две сложности:

Сложность 1: Для тестирования максимальной пропускной способности канала его необходимо использовать с максимальной загрузкой. Это означает, что во время выполнения теста, ресурсов для передачи других данных не останется. Другими словами, вы парализуете свою сеть.

Сложность 2: Для 100 % достоверности измерения вам, по сути, потребуется два компьютера, расположенных непосредственно на концах канала, пропускную способность которого требуется протестировать. Иначе вы одновременно будете испытывать и все сетевые устройства, обнаруженные в тестируемом канале.

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

Решение: Вот как можно тестировать пропускную способность с помощью PRTG:

    1. Создайте три расширенных сенсора HTTP , которые будут обращаться к нескольким файлам размером примерно 500 КБ, размещенных на различных «быстрых серверах» (например, статических веб-сайтах вашего поставщика услуг Интернета).
    2. Дайте сенсорам поработать в течение нескольких часов с интервалом в 5 минут. У сенсоров есть канал, который указывает значения пропускной способности (в Кб/с), достигнутые во время загрузки файлов.
    3. Например, если у вас есть канал передачи данных с заданной пропускной способностью в 4 Мб/с, то тест с использованием файла размером 500 КБ должен продолжаться 1000 мс (1 секунду): 4 мегабита в секунду = 0,5 МБ в секунду = 500 КБ в секунду.

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

Внимание! Если загружать файл размером 500 КБ каждые 60 секунд, то за день будет передан объем данных в 720 МБ!

СОВЕТ: Вы еще новичок в мониторинге и вам требуется поддержка?

Компания Paessler предлагает бесплатный курс, состоящий из нескольких частей, который распространяется по электронной почте. В курсе рассматриваются 4 основных метода мониторинга пропускной способности: SNMP , анализ пакетов , Flow и WMI . Познакомьтесь с отдельными процессами и возможностью их применения для улучшения использования пропускной способности в вашей сети.

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

  • Полная версия PRTG на 30 дней
  • После 30 дней – бесплатная версия
  • Для расширенной версии – коммерческая лицензия

Практический совет: «Послушай, Матиас, что бы ты сказал администраторам, которые хотят вести мониторинг пропускной способности?»

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

Матиас Хенгль, разработчик PRTG в компании PAESSLER AG

Монитор пропускной способности

Что делает PRTG лучше остальных?

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

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

Ваша пропускная способность медленно достигает своего предела? Используя PRTG, вы сразу же узнаете, что задействована максимальная пропускная способность . Это позволит вам своевременно планировать ввод в действие новых ресурсов.

Выявляя и устраняя «пожирателей» пропускной способности, вы повышаете эффективность своей сети. При этом также достигается значительная экономия средств. В большинстве случаев только эти преимущества быстро компенсируют затраты на приобретение PRTG.

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

PRTG: Революционнoe программное обеспечение для мониторинга сети

Используя API , вы можете приспосабливать PRTG индивидуально и динамически для ваших конкретных потребностей:
  • HTTP API: доступ к данным мониторинга сети и управления объектами с помощью HTTP-запросов
  • Индивидуальные сенсоры: вы можете добавить собственные сенсоры для индивидуального мониторинга сети
  • Индивидуальные уведомления: вы можете добавить собственные уведомления для отправки предупреждений во внешние системы
  • Новый сенсор REST API: Мониторит практически все, что поддерживает XML и JSON

Iperf — утилита для тестирования пропускной способности сети, за счет генерирования трафика на сервере и приеме его на клиентской машине.

Скачать утилиту

  • Для Unix или устанавливаем из репозиториев

Так же стоит обратить внимание на утилиту netperf.

Прежде всего необходимы два хоста. Одини из них будет генерировать трафик — клиент, а другой — принимать пакеты и вести подсчёт статистики — сервером. На обоих машинах запускается один и тот же исполняемый файл, но с разными ключами.

Проверка на TCP трафике.

iperf -s

iperf -c server_host

Здесь server_host — адрес машины, на которой запущен iperf в режиме сервера. Вот, собственно и всё. Сначала запускаем сервер, затем клиент, и в течение 10 секунд между ними будет идти трафик, после чего соединение будет разорвано и выведена статистика.

Чтобы увеличить продолжительность соединения, необходимо добавить в строку запуска клиента параметр -t nsec, где nsec — продолжительность соединения в секундах.

Не менее полезным будет ключик -i nsec. Здесь nsec соответствует периоду (в секундах, естественно), через который будет выводиться статистика.

Проверка на UDP трафике.

Для запуска iperf в режиме UDP необходимо добавить и клиенту и серверу ключи -u.

Протокол UDP более “тупой”, что даёт нам как некоторые преимущества, так и недостатки. Впрочем, для целей тестирования, недостатки опять-таки превращаются в преимущества.

Итак, что мы можем:

* менять длину передаваемых пакетов
* менять полосу передаваемого трафика
* работать на односторонних каналах
* использовать iperf без запуска сервера, если канал не сквозной, а необходимо просто генерировать заданный трафик для нагрузки

Для изменения длины пакета используется ключ -l length. Следует только помнить, что при length=0 реальная длина Ethernet-фрейма будет составлять 54 байта и делать в своих расчётах соответствующую поправку.

Для изменения полосы трафика используется ключ -b bandwidth. Параметр bandwidth выражается в битах в секунду и может содержать десятичную точку и суффиксы k и M, соответствующие приставкам кило- и мега-.

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

Мы можем запустить несколько экземпляров клиентов и серверов на одной и той же машине. Для развязки трафика используется назначение разных портов при помощи параметра -p port его значение на клиенте и соответствую щем сервере должно быть одинаковым (по умолчанию, он имеет значение 5001).

Практика показала, что при запуске нескольких клиентов на одной машине, iperf захватывает практически все ресурсы ЦП, из-за чего в некоторых потоках возможно пропадание пакетов. Здесь, видимо, имеется некая ошибка в коде, вызывающая некорректную работу при context switching. Всё вышеуказанное справедливо для iperf. Netperf работает под Linux вполне корректно.

В файлах помощи вы найдёте ещё параметр -S, позволяющий устанавливать значение Type Of Servise (TOS) в IP заголовке. Вынужден вас разочаровать, под Windows это не работает. (Что характерно, я не смог установить это поле и в стандартном ping для Windows).

Заявленная скорость соединения с интернетом, которую обещают провайдеры, иногда не соответствует реальной пропускной способности соединения. Скорость соединения может быть несколько ниже гарантированной, а кроме этого, может быть нестабильной. При простом просмотре страниц в браузере пользователь может даже не обратить внимания на подобное несоответствие, однако при воспроизведении онлайнового видео, передаче файлов и других действиях в сети, когда необходима высокая пропускная способность, недостаток скорости будет заметен. Если обратиться напрямую к провайдеру, служба поддержки вряд ли признает данный факт, и в качестве оправдания может быть названо множество причин — плохое состояние телефонной линии, наличие в данном районе устройств, вызывающих помехи, и так далее. Еще одна популярная отговорка — скорость соединения зависит от возможностей удаленного сервера. Можно самостоятельно измерить скорость, например, скачать большой файл и отметить, сколько ушло времени на его загрузку. Аналогичным образом можно попытаться измерить и скорость исходящего соединения — отправить файл самому себе по электронной почте или другим способом. Но все эти «замеры» выполнять очень неудобно, да и за достоверность таких «кустарных» измерений ручаться не приходится. Чтобы не «гадать на кофейной гуще» и точно определить, какая именно скорость подключения используется на данном компьютере, можно использовать онлайновый сервисSpeedtest.net. Принцип измерения скорости передачи данных, который использует данный сервис, состоит в следующем. На схематической карте мира обозначены наиболее быстрые серверы различных интернет-провайдеров. Пользователь может выбрать любой из них и проверить скорость своего соединения с интернетом. В процессе проверки тестируемый компьютер обменивается пакетами с удаленным сервером.

Зафиксированные показатели могут отличаться — для определяемой скорости большое значение имеет то, насколько велико расстояние между тестируемым компьютером и удаленным сервером. Кроме того, на результат влияет и скорость подключения удаленного компьютера. Если пользователь использует высокоскоростной интернет, не исключено, что удаленный компьютер использует менее скоростной канал, и конечные цифры будут ниже действительных. Однако преимущество сервиса Speedtest.net состоит в том, что пользователь может собственноручно изменять серверы, чтобы определить максимальную скорость. Помимо данных о скорости сетевого соединения, сервис предоставляет много интересной статистики, например, составляет рейтинг стран мира с наиболее быстрым интернетом, составляет такой же рейтинг в выбранном регионе (например, только в Европе), дает возможность выставлять оценку своему провайдеру, показывает расстояние до выбранного сервера и многое другое. Любой работающий сервер может принять участие в проекте Speedtest.net в качестве тестируемого удаленного компьютера.

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

Утилита Iperf является кроссплатформенной и не требует установки, достаточно просто скопировать ее на два компьютера, пропускную способность сети между которыми нужно оценить.

Работает утилита Iperf в режиме клиент-сервер. На первом компьютере утилита Iperf запускается в режиме сервера (ожидает трафик от клиента), а на втором, на котором Iperf запускается в режиме клиента, осуществляется генерация TCP и UDP трафика и проводится измерение скорости передачи данных.

Чтобы оценить пропускную способность сети между двумя узами сети, запустим сначала утилиту iperf в серверном режиме:

Iperf.exe -s -w 32768

Важно . Аргументы утилиты iperf регистрозависимы.

-s –утилита запускается в серверном режиме (получающая сторона)
-w 32768 – зададим размер окна TCP в 32 KB (по умолчанию около 8 Кб)

По умолчанию утилита слушает TCP порт 5001 .В зависимости от настроек файерволов между клиентом и сервером, порт можно изменить с помощью аргумента -p [номер_порта].

На стороне клиента запустим iperf со следующими опциями:

Iperf.exe -c 10.0.0.44 -P 8 -t 30 -w 32768

-c 10.0.0.44 – IP адрес сервера iperf
-w 32768 — увеличиваем размер TCP окна
-t 30 – время в секундах, в течении которого выполняется тестирование (по умолчанию 10 секунд)
-P 8 — число альтернативных потоков для увеличения пропускной способности

В нашем примере тестирование длилось 30 секунд. В итоговом отчете нас интересует значения столбца Bandwidth последней строки . В нашем случае средняя пропускная способность сети между двумя системами – 2,85 Гбит/с. С помощью аргумента –f можно изменить формат скорости (биты, килобиты, мегабайты). При продолжительных тестах, когда нужно оценивать производительность в течении нескольких минут, с помощью опции –i можно указать интервал через который нужно отображать промежуточные результаты.

По-умолчанию утилита генерирует TCP трафик, если требуется осуществить тестирование для протокола UDP, необходимо использовать ключ -u.

Во время выполнения теста график загрузки сети в Task Manager выглядит так:

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

Если необходима оценка пропускной способности сети в обоих направлениях (в дуплексом режиме), дополнительно на клиенте нужно указать опцию –d :

Iperf.exe -c IP -P 8 -t 30 -w 32768 -d

Полный список опций утилиты можно получить так:

Iperf –help

Скачать версию iperf для Windows можно на softpedia.com (iperf-2.0.5-2-win32.zip) или .

Для тех, кто предпочитает графический интерфейс управления, имеется и графический аналог iperf — утилита jperf , написания на Java (для работы на компьютере должна быть установлена Java-машина). Помимо графических рюшечек к CLI интерфейсу, Jperf умеет в реальном времени строить графики пропускной способности канала связи.

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

iperf3: Учебное пособие по измерению скорости между двумя устройствами LAN и WiFi

В этой статье мы долгое время использовали iperf3 для измерения производительности, которую мы получаем в LAN-LAN, LAN-WAN и Wi-Fi 6 тестов. Мы обнаружили, что он ведет себя намного лучше, чем iperf2, как только мы превышаем скорость 1 Гбит / с, поэтому, когда мы используем маршрутизаторы, коммутаторы или точки доступа WiFi 6, мы используем эту программу, которая дает нам более точное измерение скорости, которую мы достигаем. .

В этом руководстве мы научим вас использовать эту очень интересную программу для измерения реальной скорости между двумя компьютерами, независимо от того, подключены ли они к локальной сети или Интернету, поскольку, используя протоколы TCP и UDP, мы можем открыть порт на сервере, чтобы один или несколько клиентов могли напрямую общаться и проверять реальную скорость.

Основные возможности Iperf3

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

Что касается протоколов TCP и SCTP, он может измерять пропускную способность, сообщать размер MTU (максимальный размер передаваемого сигнала) и MSS (максимальный размер сегмента), кроме того, он также поддерживает настройку размера окна TCP через сокет. буфер. Что касается UDP, клиент может создавать различные потоки данных UDP, позволяет измерять потерю пакетов, джиттер (дрожание задержки) и даже поддерживает многоадресную рассылку. Клиент позволяет устанавливать несколько одновременных подключений к серверу, кроме того, сервер может принимать несколько одновременных подключений из нескольких разных источников. Конечно, мы можем запустить его в течение определенного времени или определить определенный объем данных для отправки.

Другими важными особенностями iperf3 являются возможность периодически показывать состояние подключения, текущую пропускную способность, джиттер, потерю пакетов и т. Д. Мы также можем заставить сервер iperf работать как демон в операционной системе. Другие новые функции включают возможность игнорирования TCP Slowstart из самого протокола TCP, установку полосы пропускания для UDP или TCP, установку метки потока для IPv6, настройку алгоритма управления перегрузкой и возможность получения всей информации в формате JSON, и мы даже можем проводить тесты чтения и записи прямо на жесткий диск.

Эта новая программа iperf3 лицензирована BSD, что означает, что она является кроссплатформенной и с открытым исходным кодом, она совместима с Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, операционные системы Solaris и многие другие.

Iperf3 загрузка и установка

Эта программа продолжает свое развитие, официальный сайт Iperf3 у вас есть последние версии для различных операционных систем. После загрузки нам нужно будет распаковать ZIP-файл, и мы сможем его выполнить, но в этом случае у нас нет графического пользовательского интерфейса или исполняемого сценария, мы должны выполнить его через командную строку, либо в Windows, либо Linux / MacOS.

Запуск iperf3 в Windows, Linux и macOS

После того, как мы разархивировали загруженный ZIP-файл, мы вводим командную строку (cmd) или терминал Linux, перемещаемся с помощью команды «cd» по разным каталогам, и когда мы находимся в каталоге iperf3, мы должны выполнить его в режиме сервера. на ПК и в режиме клиента на другом ПК:

iperf3.exe ./iperf3

Конечно, при его выполнении мы получим помощь от iperf, так как мы не поставили никаких аргументов.

Эксплуатация и тест на первой скорости

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

Чтобы загрузить iperf3 в режиме сервера:

iperf3.exe -s ./iperf3 -s

Чтобы запустить iperf3 в клиентском режиме с определенными параметрами, которые мы объясним позже:

iperf3.exe -c IP -P 50 -fg -t 5

Когда мы узнаем, как выполнить базовый тест производительности с помощью iperf3, мы покажем вам все варианты, доступные в этой программе.

Общие параметры конфигурации: для клиента и сервера

Следующие аргументы могут быть введены после выполнения самой программы, а именно: «iperf3 -arguments» и порядок ввода аргументов не имеет значения.

  • -p порт: мы можем выбрать порт для использования, TCP или UDP, этот порт должен быть точно как на сервере, так и на всех клиентах.
  • –Cport port: эта опция позволяет нам указать порт на стороне клиента, только для iperf 3.1 или выше.
  • -f формат: мы можем выбрать единицу измерения, которая будет отображаться, когда мы увидим скорость.
    • k: Кбит
    • K: Кбайт / с
    • m: Мбит
    • M: МБ / с
    • g: Гбит / с
    • G: Гбайт / с
  • -i interval: временной интервал в секундах, где iperf3 покажет нам всю информацию о пропускной способности, джиттере и потере пакетов. По умолчанию это 0.
  • -F имя_файла: на клиенте файл читается и записывается в локальной сети вместо использования случайной информации. На сервере это то, что читается из сети и записывается в файл.
  • -B host: позволяет привязать к определенной сетевой карте, идеально, если у нас есть несколько интерфейсов.
  • -V: вывод со всеми подробностями (подробный)
  • -J: вывод в формате JSON
  • –Logfile file: отправить вывод в файл журнала (только iperf 3.1)
  • –D: отладка
  • -v: версия программы
  • -h: запустить справку программы

Варианты конфигурации только для сервера

Следующие аргументы могут быть введены после выполнения самой программы, а именно: «iperf3 -arguments» и порядок ввода аргументов не имеет значения. Эти аргументы можно использовать только на сервере iperf3.

  • -s: запустить iperf в режиме сервера.
  • -D: запустить программу в фоновом режиме как демон.
  • -I: написать файл с идентификатором процесса, идеально подходит для использования с -D (демон).

Ниже вы можете увидеть несколько примеров.

Мы можем запустить сервер iperf3 по умолчанию, он будет автоматически использовать протокол TCP на порту 5201.

iperf3.exe -s

Мы можем запустить сервер iperf3 с TCP и портом 5000 следующим образом:

./iperf3 -s -p 5000

Параметры конфигурации только для клиентов

Следующие аргументы могут быть введены после выполнения самой программы, а именно: «iperf3 -arguments» и порядок ввода аргументов не имеет значения. Эти аргументы можно использовать только в клиенте iperf3.

  • -c IP_address: запустить iperf в режиме клиента для подключения к серверу, мы должны сразу определить IP-адрес.
  • –Sctp — использовать этот протокол SCTP вместо TCP (по умолчанию).
  • -u: использовать протокол UDP вместо TCP (по умолчанию).
  • -b пропускная способность: позволяет определить пропускную способность в N бит / сек, по умолчанию она составляет 1 МБ / с для UDP и не ограничена для TCP. Если мы используем аргумент -P для отправки нескольких потоков данных, эта полоса пропускания применяется к каждому из них.
  • -t время: в секундах для передачи информации на максимальной скорости. По умолчанию это 10 секунд, но мы можем поставить то, что хотим.
  • -n число: количество данных для передачи, вместо времени (-t) мы используем данные.
  • -k пакетов: количество пакетов для передачи вместо использования времени (-t) или данных (-n).
  • -l (L в нижнем регистре): длина чтения или записи буфера.
  • -P число: количество одновременных потоков данных, рекомендуется ставить 5 и выше, чтобы выжать сеть по максимуму.
  • -R: трафик iperf обычно идет от клиента к серверу, если мы укажем этот аргумент, трафик будет идти от сервера к клиенту.
  • -w размер: указать размер окна TCP
  • -M mss: позволяет настроить TCP MSS
  • -N: настраивает опцию TCP без задержки.
  • -4: мы используем сети IPv4.
  • -6: мы используем сети IPv6.
  • -S: тип услуги для исходящих пакетов.
  • -L label: позволяет настроить метку потока для сетей IPv6.
  • -Z: использует метод нулевого копирования, значительно снижает загрузку ЦП программой.
  • -O секунд: пропустить первые X секунд теста, чтобы избежать проблем с медленным запуском TCP и предоставить нам измерение без всплеска в начале.
  • -T заголовок: позволяет помещать заголовок перед каждой строкой
  • -C алгоритм: позволяет настроить алгоритм перегрузки, только в Linux с iperf 3.0 и во FreeBSD с iperf 3.1

Ниже вы можете увидеть несколько примеров.

Мы можем запустить клиент iperf3 с очень интересными аргументами:

iperf3.exe -c 192.168.1.10 -P 50 -p 5000 -fg -t 5

  • -c 192.168.1.10: работает в режиме клиента с указанным IP.
  • -P 50: мы отправляем всего 50 TCP-соединений
  • -p 5000: мы используем порт 5000, по умолчанию 5201
  • -fg: показываем скорость в Гбит / с
  • -t 5: запускаем тест на 5 секунд.

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

Тестирование пропускной способности с помощью iPerf3


Обзор

Пользователи узнают, как проверить пропускную способность с помощью CLI-инструмента iPerf3. iPerf3 генерирует и отправляет трафик от сервера клиенту или от клиента к серверу. iPerf3 — лучший инструмент для проверки пропускной способности, когда результатов сайтов по проверке скорости недостаточно.

 

 

ПРИМЕЧАНИЯ И ТРЕБОВАНИЯ:

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


Содержание

  1. Введение
  2. Принцип работы
  3. Этапы тестирования пропускной способности

Введение

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

  • Расположение сервера
  • Загруженность сервера
  • Скорость подключения к серверу
  • Проблемы с сетью сервера
  • Параллельные тесты выполняются на одном сервере

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


Принцип работы

iPerf3 между двумя компьютерами, подключенными по обе стороны соединения.

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

Этапы тестирования пропускной способности

 

 

ВНИМАНИЕ:

Предполагается, что на обоих компьютерах установлен Windows.

1. Загрузите последнюю версию iPerf3 https://iperf.fr/iperf-download.php#windows.

2. Распакуйте файл, поместите извлеченное содержимое в диск C:\.

3. После загрузки iPerf3 и излечения файлов в C:\ откройте командную строку и перейдите в директорию, в которой сохранили iPerf3.

CDC:\

4. Теперь запустите iperf3.exe как сервер на одном ПК.

iperf3.exe -s

5. Запустите iperf3.exe в качестве клиента на другом ПК.

iperf3.exe -c 203.0.113.26 -t 100 -P 5

 

 

ПРИМЕЧАНИЕ.

203.0.113.26 — это IP-адрес сервера iPerf3, работающего на противоположном ПК, который мы привели в качестве примера. Вы должны изменить IP-адрес, чтобы он совпадал с IP-адресом ПК, на котором вы запустили сервер.

iPerf3 будет работать в течение 100 секунд, показывая результаты каждую секунду.

iPerf3 и документация пользователя iPerf2

iPerf — документация пользователя iPerf3 и iPerf2

Содержание :

  1. Переключение между iPerf 2.0, iPerf 3.0 и iPerf 3.1
  2. Документация пользователя iPerf 3
  3. Разница между iPerf 2.0.6, iPerf 2.0.7 и iPerf 2.0.8
  4. Документация пользователя iPerf 2


Переключение между iPerf 2.0, iPerf 3.0 и iPerf 3.1

  • Функции iPerf2, которые в настоящее время поддерживаются iPerf3:
    • Тесты TCP и UDP
    • Установить порт (-p)
    • Настройка параметров TCP: без задержки, MSS и т. д.
    • Настройка полосы пропускания UDP (-b)
    • Установка размера буфера сокета (-w)
    • Интервалы отчетов (-i)
    • Установка буфера iPerf (-l)
    • Привязка к определенным интерфейсам (-B)
    • Тесты IPv6 (-6)
    • Количество байтов для передачи (-n)
    • Длина теста (-t)
    • Параллельные потоки (-P)
    • Установка битовых векторов DSCP/TOS (-S)
    • Изменить формат вывода числа (-f)
  • Новые функции в iPerf 3.0 :
    • Динамический сервер (обмен параметрами клиент/сервер) — большинство параметров сервера из iPerf2 теперь могут динамически устанавливаться клиентом
    • Обмен результатами клиент/сервер
    • Сервер iPerf3 одновременно принимает одного клиента (несколько клиентов одновременно для iPerf2)
    • iPerf API (libiperf) — обеспечивает простой способ использования, настройки и расширения функций iPerf
    • -R, режим обратного тестирования — сервер отправляет, клиент получает
    • -O, —omit N : пропустить первые n секунд (чтобы игнорировать медленный старт TCP)
    • -b, —bandwidth n[KM] для TCP (только UDP для IPERF 2): установите целевую пропускную способность на n бит/сек (по умолчанию 1 Мбит/сек для UDP, неограниченно для TCP).
    • -V, —verbose : более подробный вывод, чем до
    • -J, —json : вывод в формате JSON
    • -Z, —zerocopy : использовать метод sendfile() с нулевой копией для отправки данных. Это использует гораздо меньше процессора.
    • -T, —title str : префикс каждой строки вывода с этой строкой
    • -F, —file name : xmit/recv указанный файл
    • -A, —affinity n/n,m : установить привязку процессора (ядра нумеруются от 0 — только для Linux и FreeBSD)
    • -k, —blockcount #[KMG] : количество блоков (пакетов) для передачи (вместо -t или -n)
    • -4, —version4 : использовать только IPv4
    • -6, —version6 : использовать только IPv6
    • -L, —flowlabel : установить метку потока IPv6 (только Linux)
    • -C, —linux-congestion : установить алгоритм управления перегрузкой (только для Linux и FreeBSD) (-Z в iPerf2)
    • -d, —debug : вывести отладочный вывод.В первую очередь (возможно, исключительно) полезно для разработчиков.
    • -s, —server : iPerf2 может обрабатывать несколько клиентских запросов. iPerf3 разрешает одновременно только одно соединение iperf.
  • Новые функции в iPerf 3.1:
    • -I, —pidfile file записать файл с идентификатором процесса, что наиболее полезно при работе в качестве демона.
    • —cport : укажите порт на стороне клиента.
    • —sctp использовать SCTP, а не TCP (Linux, FreeBSD и Solaris).
    • —udp-counters-64bit : поддержка очень длительных тестов UDP, которые могут привести к переполнению счетчика
    • —logfile файл : отправить вывод в файл журнала.
  • Функции iPerf2, не поддерживаемые iPerf3:
    • Двунаправленное тестирование (-d/-r)
    • Данные, переданные со стандартного ввода (-I)
    • TTL: время жизни для многоадресной рассылки (-T)
    • Исключить C(соединение) D(данные) M(многоадресная рассылка) S(настройки) V(сервер) отчеты (-x)
    • Отчет в виде значений, разделенных запятыми (-y)
    • Режим совместимости позволяет использовать более раннюю версию iPerf (-C)


Документация пользователя iPerf 3

ОБЩИЕ ПАРАМЕТРЫ
Опция командной строки Описание
-p , —port n Порт сервера для прослушивания сервером и подключения клиента к.Это должно быть одинаковым как на клиенте, так и на сервере. По умолчанию 5201.
—cport n Возможность указать порт на стороне клиента. (новое в iPerf 3.1)
-f , —format [кмкм] Буква, указывающая формат для печати значений пропускной способности. Поддерживаемые форматы
     'k' = кбит/с           'K' = килобайт/с
'm' = Мбит/с           'M' = МБ/с 90 191
Адаптивные форматы выбирают между кило- и мега- в зависимости от ситуации.
-i , --interval n Устанавливает интервал времени в секундах между периодической полосой пропускания, и отчеты об убытках. Если не ноль, отчет создается каждые интервалов секунд пропускной способности с момента последнего отчета. Если ноль, нет периодического отчеты печатаются. По умолчанию ноль.
-F , --имя файла на стороне клиента: чтение из файла и запись в сеть вместо использования случайных данных;
на стороне сервера: читать из сети и записывать в файл, вместо того, чтобы выбрасывать данные.
-A , --affinity н/н,м-F Если возможно, установите привязку ЦП (только для Linux и FreeBSD). Как на клиенте, так и на сервере вы можете установить локальную близость, используя n-форму этого аргумента (где n — номер процессора). Кроме того, на стороне клиента вы можете переопределить настройки сервера. сродство только к этому одному тесту, используя форму аргумента n,m. Обратите внимание, что при использовании этой функции процесс будет привязан только одному ЦП (в отличие от набора, потенциально содержащего несколько ЦП).
-B , --bind хост Привязать к хосту , одному из адресов этой машины. Для клиента это устанавливает исходящий интерфейс. Для сервера это устанавливает входящий интерфейс. Это полезно только на многосетевых хостах, которые имеют несколько сетевые интерфейсы.
-V , --verbose дать более подробный вывод
-J , --json вывод в формате JSON
--logfile файл отправить вывод в файл журнала.(новое в iPerf 3.1)
--d , --debug выдает отладочный вывод. В первую очередь (возможно, исключительно) полезно для разработчиков.
-v , --версия Показать информацию о версии и выйти.
, --помощь Показать краткий обзор справки и выйти.
СПЕЦИФИЧЕСКИЕ ПАРАМЕТРЫ СЕРВЕРА
Параметр командной строки Описание
-s , --server Запустите iPerf в режиме сервера.(Это позволит только одно соединение iperf за раз)
-D , --daemon Запустите сервер в фоновом режиме в качестве демона.
-I , --pidfile файл запишите файл с идентификатором процесса, что наиболее полезно при работе в качестве демона. (новое в iPerf 3.1)
КОНКРЕТНЫЕ ПАРАМЕТРЫ КЛИЕНТА
Параметр командной строки Описание
-c , --client хост Запустите iPerf в режиме клиента, подключившись к серверу iPerf, работающему на хосте .
--sctp Используйте SCTP вместо TCP (Linux, FreeBSD и Solaris). (новое в iPerf 3.1)
-u , --udp Используйте UDP, а не TCP. См. также параметр -b.
-b , --полоса пропускания n[км] Установите целевую пропускную способность на n бит/сек (по умолчанию 1 Мбит/сек для UDP, неограниченно для TCP). Если потоков несколько (флаг -P), ограничение пропускной способности применяется отдельно к каждому потоку.Вы также можете добавить «/» и число к спецификатору пропускной способности. Это называется "пакетный режим". Он будет отправлять заданное количество пакетов без пауз, даже если это временно превышает указанный предел пропускной способности.
, --время п Время в секундах для передачи. iPerf обычно работает, многократно отправляя массив из len байт за время секунды. По умолчанию 10 секунд.См. также параметры -l, -k и -n.
-n , --num n[км] Количество буферов для передачи. Обычно iPerf отправляет на 10 секунды. Параметр -n отменяет это и отправляет массив len . bytes num раза, независимо от того, сколько времени это займет. См. также параметры -l, -k и -t.
-k , --blockcount n[км] Количество блоков (пакетов) для передачи.(вместо -t или -n) См. также параметры -t, -l и -n.
-l , --длина n[км] Длина буферов для чтения или записи. iPerf работает, записывая массив len байт несколько раз. По умолчанию 128 КБ для TCP, 8 КБ для UDP. См. также опции -n, -k и -t.
-P , --параллельно n Количество одновременных подключений к серверу.По умолчанию 1.
-R , --reverse Запуск в обратном режиме (сервер отправляет, клиент получает).
-w , --window n[км] Устанавливает размеры буфера сокета на указанное значение. Для TCP это устанавливает размер окна TCP. (это отправляется на сервер и также используется на этой стороне)
-M , --set-mss n Попытка установить максимальный размер сегмента TCP (MSS).MSS обычно представляет собой MTU — 40 байтов для заголовка TCP/IP. Для Ethernet MSS составляет 1460 байт (1500 байт MTU).
-N , --без задержки Установите параметр TCP без задержки, отключив алгоритм Нэгла. Обычно это отключено только для интерактивных приложений, таких как telnet.
-4 , --version4 используют только IPv4.
-6 , --version4 используют только IPv6.
-S , --tos п Тип службы для исходящих пакетов. (Многие маршрутизаторы игнорируют TOS поле.) Вы можете указать значение в шестнадцатеричном формате с префиксом '0x', в восьмеричном с префикс «0» или в десятичной форме. Например, «0x10» шестнадцатеричный = «020» восьмеричный = «16» десятичный. Номера TOS, указанные в RFC 1349:
     IPTOS_LOWDELAY     минимизировать задержку        0x10
IPTOS_THROUGHPUT   максимизировать пропускную способность   0x08
IPTOS_RELIABILITY максимизировать надежность  0x04
IPTOS_LOWCOST      минимизировать стоимость         0x02 
-L , --метка потока n Установите метку потока IPv6 (в настоящее время поддерживается только в Linux).
-Z , --zerocopy Используйте метод "нулевого копирования" для отправки данных, такой как sendfile(2), вместо обычной записи(2). Это использует гораздо меньше процессора.
-O , --опустить п Пропустите первые n секунд теста, чтобы пропустить период медленного запуска TCP.
-T, --название стр Добавляйте эту строку в префикс каждой выходной строки.
-C , --linux-congestion алгоритм Установите алгоритм управления перегрузкой (только Linux для iPerf 3.0, Linux и FreeBSD для iPerf 3.1).

См. также https://github.com/esnet/iperf



Изменение между iPerf 2.0.6, iPerf 2.0.7 и iPerf 2.0.8

  • 2.0.6 набор изменений ([email protected]) март 2014 г.:
    • Увеличьте общую память для заголовков отчетов, уменьшив конфликт мьютексов.Нужен для повышения производительности. Незначительное изменение кода, которое должно быть независимым от платформы/ОС
  • Набор изменений 2.0.7 ([email protected]) август 2014 г.:
    • Версия только для Linux, которая поддерживает конечную/конечную задержку (предполагается, что часы синхронизированы)
    • Поддержка меньшего интервала отчета (5 миллисекунд или больше)
    • Конечная/конечная задержка с UDP (среднее/минимальное/макс.), отображение в миллисекундах с разрешением в микросекундах
    • Тайм-аут чтения сокетов (только сервер), поэтому отчеты iperf возникают независимо от отсутствия полученных пакетов
    • Временные метки отчета теперь отображают разрешение в миллисекундах
    • Локальная привязка поддерживает значение порта, используя двоеточие в качестве разделителя (-B 10.10.10.1:60001)
    • Используйте планировщик реального времени Linux и метки времени на уровне пакетов для повышения точности задержки
    • Предложить PTP на клиенте и сервере синхронизировать часы с микросекундами
    • Предложите эталон качества для гроссмейстера PTP, такой как осциллятор GPS, от таких компаний, как Spectracom
  • 2.0.8 набор изменений (по состоянию на 12 января 2015 г.):
    • Исправление переносимости, компиляция и тестирование с Linux, Win10, Win7, WinXP, MacOS и Android
    • Клиент теперь требует -u для UDP (больше не используется по умолчанию UDP с -b)
    • Сохранить устаревшие форматы отчетов
    • Поддержка -e для получения расширенных отчетов
    • Поддержка потоков TCP с ограниченной скоростью (через -b) с использованием сегмента токенов
    • Поддержка пакетов в секунду (UDP) через pps в виде единиц (например,г. -b 1000pps)
    • Отображение PPS как в клиентских, так и в серверных отчетах (UDP)
    • Поддержка планировщика реального времени в качестве параметра командной строки (--realtime или -z)
    • Улучшите путь к коду tx клиента, чтобы фактическая предлагаемая скорость tx сходилась к значению -b
    • Повышение точности вызовов с микросекундной задержкой (независимым от платформы способом)
    • (Использование фильтра Калмана для прогнозирования ошибок задержки и корректировки задержки на прогнозируемую ошибку)
    • Отображение целевого времени цикла в начальном заголовке клиента (UDP)
    • Исправить окончательный отчет о задержке, отправленный с сервера клиенту (UDP)
    • Включить стандартное отклонение в вывод о задержке
    • Подавить вывод нереальной задержки (-/-/-/-)
    • Поддержка SO_SNDTIMEO при отправке, чтобы запись в сокет не блокировалась после -t (TCP)
    • Использовать clock_gettime, если доступно (предпочтительнее, чем gettimeofday())
    • Количество записей и ошибок TCP (повторные попытки TCP и CWND для Linux)
    • Счетчик чтения TCP, гистограмма чтения TCP (8 интервалов)
    • Сервер закроет сокет после -t секунд отсутствия трафика

См. также https://sourceforge.сеть/проекты/iperf2/



Документация пользователя iPerf 2

ОБЩИЕ ПАРАМЕТРЫ
Параметр командной строки Опция переменной среды Описание
-f , --format [bkmaBKMA] $IPERF_FORMAT Буква, указывающая формат для печати значений пропускной способности. Поддерживаемые форматы
     'b' = бит/сек            'B' = байт/сек
'k' = Кбит/сек           'K' = КБайт/сек
'm' = Мбит/сек           'M' = Мбайт/сек
'g' = Гбит/с           'G' = Гбит/с
'a' = адаптивные биты/с 'A' = адаптивные байты/с 
Адаптивные форматы выбирают между кило- и мега- в зависимости от ситуации.3 поэтому мы используем это при работе с биты. Если вас это действительно беспокоит, используйте -f b и посчитайте.
-i , --interval # $IPERF_INTERVAL Устанавливает интервал времени в секундах между периодической полосой пропускания, и отчеты об убытках. Если не ноль, отчет создается каждые интервалов секунд пропускной способности с момента последнего отчета. Если ноль, нет периодического отчеты печатаются.По умолчанию ноль.
-l , --len #[КМ] $IPERF_LEN Длина буферов для чтения или записи. iPerf работает, записывая массив len байт несколько раз. По умолчанию 8 КБ для TCP, 1470 байт для UDP. Примечание для UDP: это размер дейтаграммы, который необходимо уменьшить при использовании Адресация IPv6 до 1450 или меньше, чтобы избежать фрагментации. См. также -n и т опции.
-m , --print_mss $IPERF_PRINT_MSS Распечатать сообщаемый размер TCP MSS (через параметр TCP_MAXSEG) и наблюдаемые размеры чтения, которые часто коррелируют с MSS. МСС, как правило, MTU — 40 байт для заголовка TCP/IP. Часто немного меньший MSS сообщается из-за дополнительного пространства заголовка из параметров IP. Тип интерфейса также печатается соответствующий MTU (ethernet, FDDI и т. д.). Этот опция не реализована во многих ОС, но размеры чтения все еще могут указать МСС.
-p , --port # $IPERF_PORT Порт сервера для прослушивания сервером и подключения клиента к. Это должно быть одинаковым как на клиенте, так и на сервере. По умолчанию 5001, то же, что тткп.
, --udp $IPERF_UDP Используйте UDP, а не TCP. См. также -b вариант.
-w , --window #[км] $TCP_WINDOW_SIZE Устанавливает размеры буфера сокета на указанное значение.Для TCP это устанавливает размер окна TCP. Для UDP это просто буфер, в котором дейтаграммы принимаются и, таким образом, ограничивают максимальный размер принимаемой дейтаграммы.
-B , --bind хост $IPERF_BIND Привязать к хосту , одному из адресов этой машины. Для клиента это устанавливает исходящий интерфейс. Для сервера это устанавливает входящий интерфейс. Это полезно только на многосетевых хостах, которые имеют несколько сетевые интерфейсы.

Для iPerf в режиме сервера UDP это также используется для привязки и присоединения к многоадресная группа. Используйте адреса в диапазоне от 224.0.0.0 до 239.255.255.255. для многоадресной рассылки. См. также -T вариант.

-C , --совместимость $IPERF_COMPAT Режим совместимости позволяет использовать более раннюю версию iPerf. Этот режим не требуется для взаимодействия, но настоятельно рекомендуется. В в некоторых случаях при использовании репрезентативной потоковой передачи вы могли вызвать ошибку 1.7 сервер привести к сбою или вызвать нежелательные попытки подключения.
-M , --mss #[КМ} $IPERF_MSS Попытка установить максимальный размер сегмента TCP (MSS) через TCP_MAXSEG вариант. MSS обычно представляет собой MTU — 40 байтов для заголовка TCP/IP. За Ethernet, MSS составляет 1460 байт (1500 байт MTU). Этот вариант не реализовано во многих ОС.
-N , --nodelay $IPERF_NODELAY Установите параметр TCP без задержки, отключив алгоритм Нэгла.Обычно это отключено только для интерактивных приложений, таких как telnet.
-V (начиная с версии 1.6 или выше) . Привязать к IPv6-адресу
На стороне сервера:
$ iperf -s -V

Клиентская сторона:
$ iperf -c -V
 

Примечание. В версии 1.6.3 и более поздних версиях не нужно связывать с опцией -B, предыдущая версия 1.6 версии делают. Также в большинстве ОС, использующих эту опцию, также будет реагировать на IPv4. клиенты, использующие сопоставленные адреса IPv4.
, --помощь   Распечатать сводку команд и выйти.
-v , --версия   Распечатать информацию о версии и выйти. Печатает 'pthreads', если скомпилирован с Потоки POSIX, «потоки win32», если они скомпилированы с потоками Microsoft Win32, или «однопоточный», если он скомпилирован без потоков.
СПЕЦИАЛЬНЫЕ ПАРАМЕТРЫ СЕРВЕРА
Параметр командной строки Опция переменной среды Описание
-s , --server $IPERF_SERVER Запустите iPerf в режиме сервера.(iPerf2 может обрабатывать несколько клиентских запросов)
-D (начиная с версии 1.2 или выше) . Запуск сервера в качестве демона (платформы Unix)
На платформах Win32 там, где сервисы доступны, iPerf запустится как сервис.
-R (только для Windows, начиная с версии 1.2 и выше) . Удалите службу iPerf (если она запущена).
-o (только для Windows, начиная с v1.2 или выше) . Перенаправить вывод в указанный файл.
-c , --клиент хост $IPERF_CLIENT Если iPerf находится в режиме сервера, то указание хоста с параметром -c будет ограничивать соединения, которые iPerf будет принимать к хост указан. Плохо работает для UDP.
-P , --параллельно # $IPERF_PARALLEL Количество подключений, которые должен обработать сервер перед закрытие.По умолчанию 0 (что означает принимать соединения навсегда).
КОНКРЕТНЫЕ ПАРАМЕТРЫ КЛИЕНТА
Параметр командной строки Опция переменной среды Описание
-b , --bandwidth #[км] $IPERF_BANDWIDTH Пропускная способность UDP для отправки, бит/сек. Это подразумевает опцию -u. По умолчанию 1 Мбит/с.
-c , --клиент хост $IPERF_CLIENT Запустите iPerf в режиме клиента, подключившись к серверу iPerf, работающему на хост .
-d , --dualtest $IPERF_DUALTEST Запустите iPerf в режиме двойного тестирования. Это заставит сервер подключиться обратно к клиенту на порт, указанный в опция -L (или значения по умолчанию к порту, через который клиент подключился к серверу). Это делается немедленно поэтому запускать тесты одновременно. Если вы хотите чередовать тестовая попытка -r.
-n , --num #[км] $IPERF_NUM Количество буферов для передачи.Обычно iPerf отправляет на 10 секунды. Параметр -n отменяет это и отправляет массив len . bytes num раза, независимо от того, сколько времени это займет. См. также -l и т опции.
-r , --tradeoff $IPERF_TRADEOFF Запустите iPerf в режиме проверки компромисса. Это заставит сервер подключиться обратно к клиенту на порт, указанный в опция -L (или значения по умолчанию к порту, через который клиент подключился к серверу).Это делается после прекращение клиентского соединения, поэтому запуск тестов чередование. Если вы хотите одновременный тест, попробуйте -д.
-t , --time # $IPERF_TIME Время в секундах для передачи. iPerf обычно работает повторная отправка массива len байт за время секунды. По умолчанию 10 секунд.См. также -l и н опции.
-L , --listenport # $IPERF_LISTENPORT Указывает порт, который сервер будет подключать обратно к клиент включен. По умолчанию используется порт, используемый для подключения к серверу. от клиента.
-P , --параллельно # $IPERF_PARALLEL Количество одновременных подключений к серверу.Дефолт равно 1. Требуется поддержка потоков как на клиенте, так и на сервере.
-S , --tos # $IPERF_TOS Тип службы для исходящих пакетов. (Многие маршрутизаторы игнорируют TOS поле.) Вы можете указать значение в шестнадцатеричном формате с префиксом '0x', в восьмеричном с префикс «0» или в десятичной форме. Например, «0x10» шестнадцатеричный = «020» восьмеричный = «16» десятичный. Номера TOS, указанные в RFC 1349:
     IPTOS_LOWDELAY     минимизировать задержку        0x10
IPTOS_THROUGHPUT   максимизировать пропускную способность   0x08
IPTOS_RELIABILITY максимизировать надежность  0x04
IPTOS_LOWCOST      минимизировать стоимость         0x02 
-T , --ttl # $IPERF_TTL Время жизни исходящих многоадресных пакетов.Это по существу количество переходов маршрутизатора, которые необходимо пройти, а также используется для определения области действия. По умолчанию 1, локальная ссылка.
-F (начиная с версии 1.2 или выше) . Используйте репрезентативный поток для измерения пропускной способности, например. :- 
$ iperf -c <адрес сервера> -F <имя-файла>
-I (начиная с версии 1.2 или выше) . То же, что и -F, ввод со стандартного ввода.


Настройка TCP-соединения

Основная цель iPerf — помощь в настройке TCP-соединений по определенному пути.Большинство Фундаментальной проблемой настройки TCP является размер окна TCP, который определяет, сколько данных может находиться в сети в любой точке. Если он слишком мал, отправитель будет время от времени бездействовать и работать с низкой производительностью. Теоретическое значение, используемое для Размер окна TCP равен продукту задержки пропускной способности ,
пропускная способность узкого места * время приема-передачи
В приведенном ниже примере modi4/cyclops узким местом является канал DS3 со скоростью 45 Мбит/с, а время приема-передачи, измеренное с помощью ping, составляет 42 мс.Произведение задержки полосы пропускания равно
45 Мбит/с * 42 мс
= (45e6) * (42e-3)
= 18

бит


= 230 КБайт
Это отправная точка для определения наилучшего размера окна; установка его выше или ниже может дать лучшие результаты. В нашем примере размеры буфера более 130 КБ не улучшили производительность, несмотря на произведение задержки пропускной способности в 230 КБ.

Обратите внимание, что многие операционные системы и хосты имеют верхний предел размера окна TCP. Они могут быть от 64 КБ до нескольких МБ. iPerf пытается определить, когда это происходит, и выдает предупреждение о том, что фактический и запрошенный размеры окна не совпадают. не равно (как показано ниже, хотя это связано с округлением в IRIX).Для получения дополнительной информации о размерах окон TCP см. LaFibre.info. Вот пример сеанса между узлом 1 в Иллинойсе и узлом 2 в Северной Каролине. Они подключены через магистраль vBNS и канал DS3 со скоростью 45 Мбит/с. Обратите внимание, что мы улучшаем пропускную способность в 3 раза, используя правильные размеры окна TCP. Используйте функцию адаптивных размеров окон на платформах, которые позволяют устанавливать размеры окон с точностью до байтов.

  узел2>  iperf -s
-------------------------------------------------- ----------
Сервер прослушивает TCP-порт 5001
Размер окна TCP: 60.0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  4] локальный , порт 5001, подключенный к , порт 2357
[ ID] Интервал       Передача     Пропускная способность
[  4]  0,0–10,1 с   6,5 МБ    5,2 Мбит/с

узел1>  iperf -c узел2
-------------------------------------------------- ----------
Клиент подключается к node1, TCP-порт 5001
Размер окна TCP: 59,9 КБ (по умолчанию)
-------------------------------------------------- ----------
[  3] локальный порт  2357, подключенный к порту  5001
[ ID] Интервал       Передача     Пропускная способность
[  3]  0.0–10,0 с 6,5 МБ 5,2 Мбит/с 

  узел2>  iperf -s -w 130k
-------------------------------------------------- ----------
Сервер прослушивает TCP-порт 5001
Размер окна TCP: 130 КБ.
-------------------------------------------------- ----------
[  4] локальный , порт 5001, подключенный к , порт 2530
[ ID] Интервал       Передача     Пропускная способность
[  4]  0,0–10,1 сек  19,7 МБ   15,7 Мбит/сек

узел1>  iperf -c узел2 -w 130k
-------------------------------------------------- ----------
Клиент подключается к node2, TCP-порт 5001
Размер окна TCP: 129 КБ (ВНИМАНИЕ: запрошено 130 КБ)
-------------------------------------------------- ----------
[  3] локальный , порт 2530, подключенный к , порт 5001
[ ID] Интервал       Передача     Пропускная способность
[  3]  0.0–10,0 с 19,7 МБ 15,8 Мбит/с
 
Еще один тест, который нужно сделать, — запустить параллельные потоки TCP. Если общая совокупная пропускная способность больше, чем у отдельного потока, что-то не так. Либо размер окна TCP слишком мал, либо в реализации TCP в ОС есть ошибки, либо в самой сети есть недостатки. См. выше размеры окна TCP; в противном случае диагностика, которая несколько затруднена. Если iPerf скомпилирован с pthreads, один клиент и сервер могут протестировать это, в противном случае можно настроить несколько клиентов и серверов на разные порты.Вот пример, когда один поток получает 16,5 Мбит/сек, а два параллельных потока вместе получаем 16,7 + 9,4 = 26,1 Мбит/сек, даже при использовании больших размеров окна TCP:
  node2>  iperf -s -w 300k
-------------------------------------------------- ----------
Сервер прослушивает TCP-порт 5001
Размер окна TCP: 300 КБ.
-------------------------------------------------- ----------
[  4] локальный , порт 5001, подключенный к , порт 6902
[ ID] Интервал       Передача     Пропускная способность
[  4]  0.0–10,2 с 20,9 МБ  16,5 Мбит/с

  [  4] локальный , порт 5001, подключенный к , порт 6911
[  5] локальный , порт 5001, подключенный к , порт 6912
[ ID] Интервал       Передача     Пропускная способность
[ 5] 0,0–10,1 с 21,0 МБ  16,7 Мбит/с
  [  4] 0,0–10,3 с 12,0 МБ  9,4 Мбит/с

узел1>  ./iperf -c узел2 -w 300k
-------------------------------------------------- ----------
Клиент подключается к node2, TCP-порт 5001
Размер окна TCP: 299 КБ (ВНИМАНИЕ: запрошено 300 КБ)
-------------------------------------------------- ----------
[  3] локальный порт  6902, подключенный к , порт 5001
[ ID] Интервал       Передача     Пропускная способность
[  3]  0.0–10,2 с 20,9 МБ 16,4 Мбит/с

  узел1>  iperf -c узел2 -w 300k -P 2
-------------------------------------------------- ----------
Клиент подключается к node2, TCP-порт 5001
Размер окна TCP: 299 КБ (ВНИМАНИЕ: запрошено 300 КБ)
-------------------------------------------------- ----------
[  4] локальный порт  6912, подключенный к , порт 5001
[  3] локальный порт  6911, подключенный к , порт 5001
[ ID] Интервал       Передача     Пропускная способность
[  4]  0.0–10,1 с 21,0 МБ 16,6 Мбит/с
[  3]  0,0–10,2 с  12,0 МБ   9,4 Мбит/с
 
Второй проблемой настройки TCP является максимальная единица передачи (MTU). Для максимальной эффективности оба хоста должны поддерживать обнаружение Path MTU. Хосты без Path MTU Discovery часто используют 536 в качестве MSS, что тратит впустую полосу пропускания и время обработки. Используйте параметр -m, чтобы отобразить, какой MSS используется, и посмотрите, соответствует ли он тому, что вы ожидаете. Часто это около 1460 байт для Ethernet.
  node3>  iperf -s -m
-------------------------------------------------- ----------
Сервер прослушивает TCP-порт 5001
Размер окна TCP: 60.0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  4] локальный , порт 5001, подключенный к , порт 1096
[ ID] Интервал       Передача     Пропускная способность
[  4]  0,0–2,0 с   1,8 МБ   6,9 Мбит/с
[  4]  Размер MSS 1448 байт (MTU 1500 байт, Ethernet)
  [  4] Длина чтения встречается более чем в 5% операций чтения:
[  4]   952 байта прочитаны   219 раз (16,2 %)
[  4]  1 448 байт прочитано  1 128 раз (83,6%)
 
Вот хост, который не поддерживает Path MTU Discovery.Он будет отправлять и получать только небольшие пакеты размером 576 байт.
  node4>  iperf -s -m
-------------------------------------------------- ----------
Сервер прослушивает TCP-порт 5001
Размер окна TCP: 32,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  4] локальный , порт 5001, подключенный к , порт 13914
[ ID] Интервал       Передача     Пропускная способность
[  4]  0,0– 2,3 с   632 КБ   2,1 Мбит/с
  ПРЕДУПРЕЖДЕНИЕ. Обнаружение MTU пути может быть не включено. [  4]  Размер MSS 536 байт (MTU 576 байт, минимум)
  [  4] Длина чтения встречается более чем в 5% операций чтения:
[  4]   536 байт прочитано   308 раз (58,4%)
[  4]  1072 байта прочитаны    91 раз (17,3 %)
[  4]  1608 байт прочитано    29 раз (5,5%)
 
iPerf поддерживает другие параметры настройки, которые были добавлены для исключительных сетевых ситуаций, таких как HIPPI-to-HIPPI через ATM.

Настройка UDP-соединения

iPerf создает поток UDP с постоянной скоростью передачи данных. Это очень искусственный поток, похожий на голосовое общение, но не более того.

Вам нужно настроить размер дейтаграммы (-l) в соответствии с размером, используемым вашим приложением.

Сервер обнаруживает потерю дейтаграмм UDP по идентификационным номерам в дейтаграммах. Обычно дейтаграмма UDP становится несколькими IP-пакетами. Потеря одного IP-пакета приведет к потере всей дейтаграммы. Чтобы измерять потерю пакетов, а не потерю дейтаграмм, сделайте дейтаграммы достаточно маленькими, чтобы они поместились в один пакет, используя параметр -l. Размер по умолчанию 1470 байт работает для Ethernet. Также обнаруживаются неупорядоченные пакеты.(Пакеты не по порядку вызывают некоторую неоднозначность в подсчете потерянных пакетов; iPerf предполагает, что это не дубликаты пакетов, поэтому они исключаются из подсчета потерянных пакетов.) Поскольку TCP не сообщает пользователю о потере, я считаю, что тесты UDP полезны для наблюдения за потерей пакетов на пути.

Вычисления джиттера постоянно вычисляются сервером, как указано RTP в RFC 1889. Клиент записывает 64-битную метку времени в секундах/микросекундах в пакет. Сервер вычисляет относительное время передачи как (время приема сервером - время отправки клиента).Часы клиента и сервера могут не совпадать. синхронизированный; любая разница вычитается при расчете джиттера. Джиттер является сглаженным средним значением различий между последовательными временами прохождения.
  узел2>  iperf -s -u -i 1
-------------------------------------------------- ----------
Сервер прослушивает UDP-порт 5001.
Получение дейтаграмм размером 1470 байт
Размер буфера UDP: 60,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  4] локальный порт  5001, подключенный к , порт 9726
[ ID] Интервал       Передача     Пропускная способность       Дрожание   Потерянные/общее количество дейтаграмм
[  4]  0.0– 1,0 с 1,3 МБ 10,0 Мбит/с 0,209 мс 1/ 894 (0,11%)
[  4]  1,0– 2,0 с   1,3 МБ  10,0 Мбит/с  0,221 мс    0/  892 (0%)
[  4]  2,0– 3,0 с   1,3 МБ 10,0 Мбит/с  0,277 мс    0/  892 (0%)
[  4]  3,0– 4,0 с   1,3 МБ 10,0 Мбит/с  0,359 мс    0/  893 (0%)
[  4]  4,0– 5,0 с   1,3 МБ 10,0 Мбит/с 0,251 мс    0/  892 (0%)
[  4]  5,0– 6,0 с   1,3 МБ 10,0 Мбит/с 0,215 мс    0/  892 (0%)
[  4] 6,0– 7,0 с   1,3 МБ 10,0 Мбит/с 0,325 мс    0/  892 (0%)
[  4]  7.0– 8,0 с   1,3 МБ 10,0 Мбит/с 0,254 мс    0/  892 (0%)
[  4]  8,0– 9,0 с   1,3 МБ  10,0 Мбит/с  0,282 мс    0/  892 (0%)
[  4] 0,0–10,0 с 12,5 МБ 10,0 Мбит/с 0,243 мс    1/ 8922 (0,011%)

  узел1>  iperf -c узел2 -u -b 10м
-------------------------------------------------- ----------
Клиент подключается к node2, порт UDP 5001
Отправка дейтаграмм размером 1470 байт
Размер буфера UDP: 60,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  3] локальный порт  9726, подключенный к , порт 5001
[ ID] Интервал       Передача     Пропускная способность
[  3]  0.0–10,0 с 12,5 МБ 10,0 Мбит/с
[  3] Отправлено 8922 дейтаграммы
 
Обратите внимание на большее дрожание из-за повторной сборки дейтаграмм при использовании больших дейтаграмм размером 32 КБ, каждая из которых разбита на 23 пакета по 1500 байт. Более высокая потеря дейтаграмм, наблюдаемая здесь, может быть связана с пакетной передачей трафика, которая составляет 23 последовательных пакета, а затем длинный пауза, а не равномерно распределенные отдельные пакеты.
  node2>  iperf -s -u -l 32k -w 128k -i 1
-------------------------------------------------- ----------
Сервер прослушивает UDP-порт 5001.
Получение дейтаграмм размером 32768 байт
Размер буфера UDP: 128 КБ.
-------------------------------------------------- ----------
[  3] локальный , порт 5001, подключенный к , порт 11303
[ ID] Интервал       Передача     Пропускная способность       Дрожание   Потерянные/общее количество дейтаграмм
[  3]  0.0– 1,0 с 1,3 МБ 10,0 Мбит/с 0,430 мс    0/   41 (0%)
[  3]  1,0–2,0 с   1,1 МБ  8,5 Мбит/с  5,996 мс    6/   40 (15%)
[  3]  2,0– 3,0 с   1,2 МБ  9,7 Мбит/с  0,796 мс    1/   40 (2,5%)
[  3]  3,0– 4,0 с   1,2 МБ 10,0 Мбит/с 0,403 мс    0/   40 (0%)
[  3]  4,0– 5,0 с   1,2 МБ 10,0 Мбит/с 0,448 мс    0/   40 (0%)
[  3]  5,0– 6,0 с   1,2 МБ 10,0 Мбит/с 0,464 мс    0/   40 (0%)
[  3]  6,0– 7,0 с   1,2 МБ 10,0 Мбит/с  0,442 мс    0/   40 (0%)
[  3]  7.0– 8,0 с 1,2 МБ 10,0 Мбит/с 0,342 мс 0/   40 (0%)
[  3]  8,0– 9,0 с   1,2 МБ 10,0 Мбит/с 0,431 мс    0/   40 (0%)
[  3]  9,0–10,0 с   1,2 МБ 10,0 Мбит/с 0,407 мс    0/   40 (0%)
[ 3] 0,0–10,0 с 12,3 МБ 9,8 Мбит/с 0,407 мс 7/ 401 (1,7%)

  узел1>  iperf -c узел2 -b 10m -l 32k -w 128k
-------------------------------------------------- ----------
Клиент подключается к node2, порт UDP 5001
Отправка дейтаграмм размером 32768 байт
Размер буфера UDP: 128 КБ.
-------------------------------------------------- ----------
[  3] локальный порт  11303, подключенный к , порт 5001
[ ID] Интервал       Передача     Пропускная способность
[  3]  0.0–10,0 с 12,5 МБ 10,0 Мбит/с
[  3] Отправлено 401 дейтаграмма
 


Многоадресная рассылка

Чтобы протестировать многоадресную рассылку, запустите несколько серверов с установленным параметром привязки (-B, --bind). на групповой адрес многоадресной рассылки. Запускаем клиент, подключаясь к мультикасту групповой адрес и установка TTL (-T, --ttl) по мере необходимости. В отличие от обычного TCP и Тесты UDP, серверы многоадресной рассылки могут быть запущены после клиента. В этом случае, дейтаграммы, отправленные до запуска сервера, отображаются как потери в первом периодическом отчет (61 дейтаграмма на арно ниже).

  node5>  iperf -c 224.0.67.67 -u --ttl 5 -t 5
-------------------------------------------------- ----------
Клиент подключается к 224.0.67.67, порт UDP 5001
Отправка дейтаграмм размером 1470 байт
Установка многоадресного TTL на 5
Размер буфера UDP: 32,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  3] локальный , порт 1025, подключенный к порту 5001 224.0.67.67
[ ID] Интервал       Передача     Пропускная способность
[  3]  0,0– 5,0 с   642 КБ   1.0 Мбит/сек
[  3] Отправлено 447 дейтаграмм

  node5>  iperf -s -u -B 224.0.67.67 -i 1
-------------------------------------------------- ----------
Сервер прослушивает UDP-порт 5001.
Привязка к локальному адресу 224.0.67.67
Присоединение к многоадресной группе 224.0.67.67
Получение дейтаграмм размером 1470 байт
Размер буфера UDP: 32,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  3] локальный 224.0.67.67, порт 5001, подключенный к , порт 1025
[ ID] Интервал       Передача     Пропускная способность       Дрожание   Потерянные/общее количество дейтаграмм
[  3]  0.0– 1,0 с 131 КБ 1,0 Мбит/с 0,007 мс 0/   91 (0%)
[  3]  1,0– 2,0 с   128 КБайт   1,0 Мбит/с  0,008 мс    0/   89 (0%)
[  3]  2,0– 3,0 с   128 КБайт   1,0 Мбит/с  0,010 мс    0/   89 (0%)
[  3]  3,0– 4,0 с   128 КБ   1,0 Мбит/с  0,013 мс    0/   89 (0%)
[  3]  4,0– 5,0 с   128 КБайт   1,0 Мбит/с  0,008 мс    0/   89 (0%)
[  3]  0,0– 5,0 с   642 КБ   1,0 Мбит/с  0,008 мс    0/  447 (0%)

  node6>  iperf -s -u -B 224.0.67.67 -i 1
-------------------------------------------------- ----------
Сервер прослушивает UDP-порт 5001.
Привязка к локальному адресу 224.0,67,67
Присоединение к многоадресной группе 224.0.67.67
Получение дейтаграмм размером 1470 байт
Размер буфера UDP: 60,0 КБ (по умолчанию)
-------------------------------------------------- ----------
[  3] локальный 224.0.67.67, порт 5001, подключенный к , порт 1025
[ ID] Интервал       Передача     Пропускная способность       Дрожание   Потерянные/общее количество дейтаграмм
[  3]  0,0–1,0 с   129 Кбайт   1,0 Мбит/с  0,778 мс   61/  151 (40%)
[  3]  1,0– 2,0 с   128 КБайт   1,0 Мбит/с  0,236 мс    0/   89 (0%)
[  3]  2,0–3,0 с   128 КБ   1.0 Мбит/с  0,264 мс    0/   89 (0%)
[  3]  3,0– 4,0 с   128 КБайт   1,0 Мбит/с  0,248 мс    0/   89 (0%)
[  3]  0,0– 4,3 с   554 КБ   1,0 Мбит/с  0,298 мс   61/  447 (14%)
 

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



Режим IPv6

Получите IPv6-адрес узла с помощью команды ifconfig.
Используйте параметр -V, чтобы указать, что вы используете адрес IPv6. Обратите внимание, что нам также необходимо явно привязать адрес сервера.

Серверная сторона:
$ iperf -s -V

Клиентская сторона:
$ iperf -c -V>

Примечание. Для iPerf версии 1.6.2 и более ранних версий требуется явная привязка IPv6-адреса. с опцией -B для сервера.



Использование репрезентативных потоков для измерения пропускной способности

Используйте опцию -F или -I.Если вы хотите проверить, как работает ваша сеть со сжатыми/несжатыми потоками просто создайте репрезентативные потоки и используйте опцию -F, чтобы проверить это. Обычно это связано со связующим слоем. сжатие данных.

Параметр -F предназначен для файлового ввода.
Опция -I предназначена для ввода со стандартного ввода.

Напр.
Клиент: $ iperf -c <адрес сервера> -F <имя файла>

Клиент: $ iperf -c <адрес сервера> -I



Запуск сервера в качестве демона

Используйте параметр командной строки -D для запуска сервера в качестве демона.Перенаправить вывод в файл.
Напр. iperf -s -D > iperflog. При этом будет запущен сервер iPerf. в качестве демона, а сообщения сервера будут регистрироваться в файле iperfLog.


Использование iPerf как службы под Win32

Для Win32 существует три варианта:
-o имя выходного файла
выводить сообщения в указанный файл
-с -Д
установить iPerf как службу и запустить ее
-с -R
удалить службу iPerf

Примеры:

iperf -s -D -o iperflog.текст
установит службу iPerf и запустит ее. Сообщения будут записываться в "%windir%\system32\iperflog.txt"
иперф-с-R
удалит службу iPerf, если она установлена.

Примечание. Если вы перестанете перезапускать службу iPerf после ее отключения с помощью Microsoft Консоль управления или Диспетчер задач Windows, обязательно используйте правильный ВАРИАНТ в диалоговом окне свойств службы.



Адаптивные размеры окон (в разработке)

Используйте параметр -W на клиенте, чтобы запустить клиент с адаптивным размером окна.Убедитесь, что размер окна сервера достаточно велик для этой опции.
Например. Если размер окна TCP сервера составляет 8 КБ, это не помогает, если размер окна TCP клиента составляет 256 КБ.
256 КБ Размер окна TCP сервера должен быть достаточным для большинства сетей с высокой пропускной способностью.

Клиент изменяет размер окна TCP с помощью двоичного экспоненциального алгоритма. Это означает, что вы можете заметить, что предлагаемый размер окна TCP может варьироваться в зависимости от трафика в сети, iPerf предложит лучший размер окна для текущего сетевого сценария.



Компиляция

После получения дистрибутива в UNIX распакуйте его с помощью gzip и tar. Это создаст новый каталог iperf-<версия#> с исходными файлами и документацией.

iPerf легко компилируется во многих системах, включая Linux, SGI IRIX, HP-UX, Solaris, AIX и Cray UNICOS. Используйте « make » для настройки вашей ОС и компиляции исходного кода.

gunzip -c iperf-<версия>.tar.gz | смола -xvf -
cd iperf-<версия>
./настроить
сделать
 

Чтобы установить iPerf, используйте « make install », который спросит вас, где его установить. Чтобы перекомпилировать, проще всего начать заново. Сделайте ' make distclean ', затем ' ./configure; сделать '. Дополнительные параметры см. в Makefile.

Загрузка iPerf3 и исходных предварительно скомпилированных двоичных файлов iPerf

iPerf — Загрузка iPerf3 и исходных предварительно скомпилированных двоичных файлов iPerf

Содержание :

  1. Скачать iPerf для Windows
  2. Скачать iPerf3 для Android
  3. Скачать iPerf3 для iPhone/iPad
  4. Скачать iPerf3 для Apple macOS
  5. Скачать iPerf для Ubuntu / Debian / Mint
  6. Скачать iPerf для Fedora/Red Hat/CentOS
  7. Скачать iPerf для openSUSE
  8. Скачать iPerf для Arch Linux
  9. Скачать iPerf для FreeBSD
  10. Сценарий журнала сервера iPerf3
  11. Исходный код iPerf C++
  12. Как выполнить более новую установку Iperf, чем та, которая включена в Ubuntu/Debian/Mint?


Загрузить iPerf3 и оригинальные предварительно скомпилированные двоичные файлы iPerf

Обратите внимание, что iPerf3 не имеет обратной совместимости с iPerf2.

64-разрядная версия Windows , скомпилированная Вивьен Геан. (ша256)
  • iPerf 3.1.3 (8 июня 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.1.2 (1 февраля 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.0.12 (8 июня 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.0.11 (9 января 2015 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 2.0.9 (6 июня 2016 г. — 1,7 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 2.0.8b (17 сентября 2015 г. — 1,6 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)

Windows 32 бита скомпилировано Vivien Guéant. (ша256)
  • iPerf 3.1.3 (8 июня 2016 г. — 1,3 МБ для Windows XP — Windows 10)
  • iPerf 3.1.2 (1 февраля 2016 г. — 1,3 МБ для Windows XP — Windows 10)
  • iPerf 3.0.12 (8 июня 2016 г. — 1,4 МБ для Windows XP — Windows 10)
  • iPerf 3.0.11 (9 января 2015 г. — 1,3 МБ для Windows XP и Windows 10)
  • iPerf 2.0.9 (6 июня 2016 г. — 1,7 МБ для Windows XP — Windows 10)
  • iPerf 2.0.8b (17 сентября 2015 г. — 1,6 МБ для Windows XP — Windows 10)
  • iPerf 2.0.8 (12 января 2015 г. — 231 КиБ для Windows XP — Windows 10), созданный без Cygwin
  • iPerf 2.0.6 (10 марта 2014 г. — 1,6 МБ для Windows XP — Windows 10)
  • iPerf 2.0.5b (8 июля 2010 г. - 1,6 МБ для Windows XP до Windows 10) Исправлены некоторые проблемы с производительностью Cygwin, автор Iuliu Rus (Google)
  • iPerf 2.0.5 (8 июля 2010 г. — 1,2 МБ для Windows XP — Windows 10)
  • iPerf 2.0.2 (3 мая 2005 г. - 614 КиБ только для Windows 2000 и Windows XP)
  • iPerf 1.7.0 (13 марта 2003 г. - 84,4 КиБ только для Windows 2000 и Windows XP), созданный без Cygwin
  • iPerf 1.7.0 (13 марта 2003 г. — 316 КиБ только для Windows CE)

Приложения универсальной платформы Windows (приложения для Windows 10 для настольных ПК и приложения для Windows 10 для мобильных устройств):

Android :
  • iPerf3 и iperf2 : он.net — сетевые инструменты (NoveMiBer 2015 от Hurricane Electric — 25 МБ)
  • iPerf3 и iperf2: Magic iPerf (NoveMiBer 2015 от NextDoorDeveloper — 786 КиБ)
  • iPerf2: Aruba Utilities (май 2016 г., CTODeveloper в Aruba Networks — 1,99 МБ)
  • iPerf2: AirO (март 2015 г., CTODeveloper в Aruba Networks — 975 КиБ)
  • iPerf2 : Iperf ext (август 2012 г., Sudhir C Vissa - 1,7 МБ)
  • iPerf2: iPerf для Android (январь 2012 г., MagicAndroidApps.ком - 530 КиБ)

Apple iOS : (iPhone, iPad и iPod touch)

Apple macOS Intel 64 бит : (sha256)

Apple macOS PowerPC : (sha256)

Ubuntu 64-бит / Debian 64-бит / Mint 64-бит (AMD64) Рауль Гуннар Борениус и Роберто ЛуМиБрерас. (ша256)

Ubuntu 32 бита / Debian 32 бита / Mint 32 бита (i386) Рауля Гуннара Борениуса и Роберто ЛуМиБрераса. (ша256)

Биты Ubuntu ARM64 / Debian ARM64 Рауля Гуннара Борениуса и Роберто ЛуМиБрераса.(ша256)

Биты Ubuntu ARMhf / Debian ARMhf Рауля Гуннара Борениуса и Роберто ЛуМиБрераса. (ша256)

64-разрядная версия Fedora / 64-разрядная версия Red Hat / 64-разрядная версия CentOS (AMD64) от ssahani. (ша256)

Fedora, 32 бита / Red Hat, 32 бита / CentOS, 32 бита (i686) от ssahani. (ша256)

openSUSE 64 бита (x86_64) (sha256)

openSUSE 32 бита (i586) (sha256)

Arch Linux 64 бита (x86_64) Тимоти Редаэлли.(ша256)

Arch Linux 32 бита (i686) Тимоти Редаэлли. (ша256)

Руководство по установке Linux 64-бит (AMD64) Вивьен Геант. (ша256)

FreeBSD 64bits (AMD64) Брюс А. Мах. (ша256)

FreeBSD 32bit (i386) Брюс А. Мах. (ша256)

Докер от Брента Солсбери

Французский форум для iPerf

Лицензия iPerf: iPerf выпускается под лицензией BSD, состоящей из трех пунктов.



Сценарий журнала сервера iPerf3:

iperf3tocsv.py (2,5 КиБ) от Kirth Gersen
Журнал для iPerf3: отображение «дата, IP, локальный порт, удаленный порт, продолжительность, протокол, num_streams, cookie, отправлено, отправлено_mbps, rcvd, rcvd_mbps, totalsent, totalreceived»

Источник iPerf C++:

Число версий iPerf3 использует (примерно) схему семантического управления версиями, в какой версии номера состоят из трех частей: MAJOR.MINOR.PATCH

Разработчики увеличивают:

  • ОСНОВНАЯ версия при внесении несовместимых изменений API.
  • MINOR версия при добавлении функциональности обратно совместимым образом.
  • Версия
  • PATCH при исправлении ошибок с обратной совместимостью.


Источник UWP iPerf3:

Источник приложений универсальной платформы Windows iPerf3 для Windows 10 Desktop и Windows 10 Mobile.

UWP iPerf3 разработан Томми Чжаном / Microsoft.

Лицензия UWP iPerf3 : UWP iPerf3 выпускается под лицензией BSD, состоящей из трех пунктов.



Как выполнить более позднюю установку Iperf, чем та, которая включена в Ubuntu/Debian/Mint?

Учебник для дистрибутивов на базе Debian/Ubuntu



Установите Iperf 3.9 через командную строку:

Пакеты устанавливаются вручную с помощью команды dpkg (система управления пакетами Debian). dpkg — это серверная часть для таких команд, как apt и aptitude, которые, в свою очередь, являются серверной частью для приложений с графическим интерфейсом, таких как Software Center и Synaptic.

— 64-разрядная версия Ubuntu / 64-разрядная версия Debian / 64-разрядная версия Mint (AMD64) :
  1. sudo apt удалить iperf3 libiperf0
  2. sudo apt установить libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_amd64.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_amd64.deb
  5. sudo dpkg -i libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.deb
  6. РМ libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.деб

— 32-разрядная версия Ubuntu / 32-разрядная версия Debian / 32-разрядная версия Mint (i386) :
  1. sudo apt удалить iperf3 libiperf0
  2. sudo apt установить libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_i386.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_i386.deb
  5. sudo dpkg -i libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb
  6. РМ libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb

- Удалить iPerf:
  • sudo apt удалить iperf3 libiperf0


Установить Iperf 3.1.3 с графической установкой:

  1. Удалите старую версию iperf3, установленную с помощью «Ubuntu Software Center» или «Synaptic».
  2. Скачать iperf3 и libiperf0
  3. Важно сначала установить libiperf0 , дважды щелкнув файл:
  4. Затем необходимо установить iperf3 , дважды щелкнув файл:

Загрузка iPerf3 и исходных предварительно скомпилированных двоичных файлов iPerf

iPerf — Загрузка iPerf3 и исходных предварительно скомпилированных двоичных файлов iPerf

Содержание :

  1. Скачать iPerf для Windows
  2. Скачать iPerf3 для Android
  3. Скачать iPerf3 для iPhone/iPad
  4. Скачать iPerf3 для Apple macOS
  5. Скачать iPerf для Ubuntu / Debian / Mint
  6. Скачать iPerf для Fedora/Red Hat/CentOS
  7. Скачать iPerf для openSUSE
  8. Скачать iPerf для Arch Linux
  9. Скачать iPerf для FreeBSD
  10. Сценарий журнала сервера iPerf3
  11. Исходный код iPerf C++
  12. Как выполнить более новую установку Iperf, чем та, которая включена в Ubuntu/Debian/Mint?


Загрузить iPerf3 и оригинальные предварительно скомпилированные двоичные файлы iPerf

Обратите внимание, что iPerf3 не имеет обратной совместимости с iPerf2.

64-разрядная версия Windows , скомпилированная Вивьен Геан. (ша256)
  • iPerf 3.1.3 (8 июня 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.1.2 (1 февраля 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.0.12 (8 июня 2016 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 3.0.11 (9 января 2015 г. — 1,3 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 2.0.9 (6 июня 2016 г. — 1,7 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)
  • iPerf 2.0.8b (17 сентября 2015 г. — 1,6 МБ для 64-разрядной версии Windows Vista до 64-разрядной версии Windows 10)

Windows 32 бита скомпилировано Vivien Guéant. (ша256)
  • iPerf 3.1.3 (8 июня 2016 г. — 1,3 МБ для Windows XP — Windows 10)
  • iPerf 3.1.2 (1 февраля 2016 г. — 1,3 МБ для Windows XP — Windows 10)
  • iPerf 3.0.12 (8 июня 2016 г. — 1,4 МБ для Windows XP — Windows 10)
  • iPerf 3.0.11 (9 января 2015 г. — 1,3 МБ для Windows XP и Windows 10)
  • iPerf 2.0.9 (6 июня 2016 г. — 1,7 МБ для Windows XP — Windows 10)
  • iPerf 2.0.8b (17 сентября 2015 г. — 1,6 МБ для Windows XP — Windows 10)
  • iPerf 2.0.8 (12 января 2015 г. — 231 КиБ для Windows XP — Windows 10), созданный без Cygwin
  • iPerf 2.0.6 (10 марта 2014 г. — 1,6 МБ для Windows XP — Windows 10)
  • iPerf 2.0.5b (8 июля 2010 г. - 1,6 МБ для Windows XP до Windows 10) Исправлены некоторые проблемы с производительностью Cygwin, автор Iuliu Rus (Google)
  • iPerf 2.0.5 (8 июля 2010 г. — 1,2 МБ для Windows XP — Windows 10)
  • iPerf 2.0.2 (3 мая 2005 г. - 614 КиБ только для Windows 2000 и Windows XP)
  • iPerf 1.7.0 (13 марта 2003 г. - 84,4 КиБ только для Windows 2000 и Windows XP), созданный без Cygwin
  • iPerf 1.7.0 (13 марта 2003 г. — 316 КиБ только для Windows CE)

Приложения универсальной платформы Windows (приложения для Windows 10 для настольных ПК и приложения для Windows 10 для мобильных устройств):

Android :
  • iPerf3 и iperf2 : он.net — сетевые инструменты (NoveMiBer 2015 от Hurricane Electric — 25 МБ)
  • iPerf3 и iperf2: Magic iPerf (NoveMiBer 2015 от NextDoorDeveloper — 786 КиБ)
  • iPerf2: Aruba Utilities (май 2016 г., CTODeveloper в Aruba Networks — 1,99 МБ)
  • iPerf2: AirO (март 2015 г., CTODeveloper в Aruba Networks — 975 КиБ)
  • iPerf2 : Iperf ext (август 2012 г., Sudhir C Vissa - 1,7 МБ)
  • iPerf2: iPerf для Android (январь 2012 г., MagicAndroidApps.ком - 530 КиБ)

Apple iOS : (iPhone, iPad и iPod touch)

Apple macOS Intel 64 бит : (sha256)

Apple macOS PowerPC : (sha256)

Ubuntu 64-бит / Debian 64-бит / Mint 64-бит (AMD64) Рауль Гуннар Борениус и Роберто ЛуМиБрерас. (ша256)

Ubuntu 32 бита / Debian 32 бита / Mint 32 бита (i386) Рауля Гуннара Борениуса и Роберто ЛуМиБрераса. (ша256)

Биты Ubuntu ARM64 / Debian ARM64 Рауля Гуннара Борениуса и Роберто ЛуМиБрераса.(ша256)

Биты Ubuntu ARMhf / Debian ARMhf Рауля Гуннара Борениуса и Роберто ЛуМиБрераса. (ша256)

64-разрядная версия Fedora / 64-разрядная версия Red Hat / 64-разрядная версия CentOS (AMD64) от ssahani. (ша256)

Fedora, 32 бита / Red Hat, 32 бита / CentOS, 32 бита (i686) от ssahani. (ша256)

openSUSE 64 бита (x86_64) (sha256)

openSUSE 32 бита (i586) (sha256)

Arch Linux 64 бита (x86_64) Тимоти Редаэлли.(ша256)

Arch Linux 32 бита (i686) Тимоти Редаэлли. (ша256)

Руководство по установке Linux 64-бит (AMD64) Вивьен Геант. (ша256)

FreeBSD 64bits (AMD64) Брюс А. Мах. (ша256)

FreeBSD 32bit (i386) Брюс А. Мах. (ша256)

Докер от Брента Солсбери

Французский форум для iPerf

Лицензия iPerf: iPerf выпускается под лицензией BSD, состоящей из трех пунктов.



Сценарий журнала сервера iPerf3:

iperf3tocsv.py (2,5 КиБ) от Kirth Gersen
Журнал для iPerf3: отображение «дата, IP, локальный порт, удаленный порт, продолжительность, протокол, num_streams, cookie, отправлено, отправлено_mbps, rcvd, rcvd_mbps, totalsent, totalreceived»

Источник iPerf C++:

Число версий iPerf3 использует (примерно) схему семантического управления версиями, в какой версии номера состоят из трех частей: MAJOR.MINOR.PATCH

Разработчики увеличивают:

  • ОСНОВНАЯ версия при внесении несовместимых изменений API.
  • MINOR версия при добавлении функциональности обратно совместимым образом.
  • Версия
  • PATCH при исправлении ошибок с обратной совместимостью.


Источник UWP iPerf3:

Источник приложений универсальной платформы Windows iPerf3 для Windows 10 Desktop и Windows 10 Mobile.

UWP iPerf3 разработан Томми Чжаном / Microsoft.

Лицензия UWP iPerf3 : UWP iPerf3 выпускается под лицензией BSD, состоящей из трех пунктов.



Как выполнить более позднюю установку Iperf, чем та, которая включена в Ubuntu/Debian/Mint?

Учебник для дистрибутивов на базе Debian/Ubuntu



Установите Iperf 3.9 через командную строку:

Пакеты устанавливаются вручную с помощью команды dpkg (система управления пакетами Debian). dpkg — это серверная часть для таких команд, как apt и aptitude, которые, в свою очередь, являются серверной частью для приложений с графическим интерфейсом, таких как Software Center и Synaptic.

— 64-разрядная версия Ubuntu / 64-разрядная версия Debian / 64-разрядная версия Mint (AMD64) :
  1. sudo apt удалить iperf3 libiperf0
  2. sudo apt установить libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_amd64.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_amd64.deb
  5. sudo dpkg -i libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.deb
  6. РМ libiperf0_3.9-1_amd64.deb iperf3_3.9-1_amd64.деб

— 32-разрядная версия Ubuntu / 32-разрядная версия Debian / 32-разрядная версия Mint (i386) :
  1. sudo apt удалить iperf3 libiperf0
  2. sudo apt установить libsctp1
  3. wget https://iperf.fr/download/ubuntu/libiperf0_3.9-1_i386.deb
  4. wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_i386.deb
  5. sudo dpkg -i libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb
  6. РМ libiperf0_3.9-1_i386.deb iperf3_3.9-1_i386.deb

- Удалить iPerf:
  • sudo apt удалить iperf3 libiperf0


Установить Iperf 3.1.3 с графической установкой:

  1. Удалите старую версию iperf3, установленную с помощью «Ubuntu Software Center» или «Synaptic».
  2. Скачать iperf3 и libiperf0
  3. Важно сначала установить libiperf0 , дважды щелкнув файл:
  4. Затем необходимо установить iperf3 , дважды щелкнув файл:

Справочная страница iperf3 — Общие команды

Описание

iperf3 — это инструмент для измерения пропускной способности сети.Он может тестировать пропускную способность TCP, UDP или SCTP. Для выполнения теста iperf3 пользователь должен установить и сервер, и клиент.

Исполняемый файл iperf3 содержит как клиентские, так и серверные функции. Сервер iperf3 можно запустить с помощью любого из параметров командной строки -s или --server, например:

iperf3 -s

iperf3 --server

Обратите внимание, что многие параметры iperf3 имеют оба коротких ( -s) и длинные (--server) формы. В этом разделе мы обычно будем использовать краткую форму флагов командной строки, если не доступна только длинная форма флага.

По умолчанию сервер iperf3 прослушивает TCP-порт 5201 в поисках подключений от клиента iperf3. Пользовательский порт можно указать с помощью флага -p, например:

iperf3 -s -p 5002

После запуска сервера он будет прослушивать подключения от клиентов iperf3 (другими словами, программа iperf3 работать в клиентском режиме). Режим клиента можно запустить с помощью параметра командной строки -c, для которого также требуется хост, к которому должен подключаться iperf3. Хост можно указать по имени хоста, литералу IPv4 или литералу IPv6:

iperf3 -c iperf3.example.com

iperf3 -c 192.0.2.1

iperf3 -c 2001:db8::1

Если сервер iperf3 работает на TCP-порте, отличном от используемого по умолчанию, этот номер порта необходимо указать. также на клиенте:

iperf3 -c iperf3.example.com -p 5002

Начальное соединение TCP используется для обмена параметрами теста, контроля начала и окончания теста, а также для обмена результатами теста. Это иногда называют «управляющим соединением».Фактические тестовые данные отправляются через отдельное соединение TCP, как отдельный поток пакетов UDP или как независимое соединение SCTP, в зависимости от того, какой протокол был указан клиентом.

Обычно тестовые данные отправляются с клиента на сервер и измеряют скорость загрузки клиента. Измерить скорость загрузки с сервера можно, указав флаг -R на клиенте. Это приводит к отправке данных с сервера на клиент.

iperf3 -c iperf3.example.com -p 5202 -R

Результаты отображаются как на клиенте, так и на сервере. Будет как минимум одна строка выходных данных для каждого интервала измерения (по умолчанию интервал измерения длится одну секунду, но это можно изменить с помощью параметра -i). Каждая строка вывода включает (как минимум) время с начала теста, объем данных, переданных за интервал, и средний битрейт за этот интервал. Обратите внимание, что значения для каждого интервала измерения берутся с точки зрения процесса конечной точки, выдающего эти выходные данные (другими словами, выходные данные на клиенте показывают данные интервала измерения для клиента.

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

Клиент может получать выходные данные на стороне сервера для данного теста, указав флаг --get-server-output.

Либо клиент, либо сервер могут создавать выходные данные в формате JSON, полезном для интеграции с другими программами, передав ему флаг -J.Поскольку содержимое структуры JSON полностью известно только после завершения теста, выходные данные JSON не будут выдаваться до конца теста.

iperf3 имеет (чрезмерно) большой набор параметров командной строки, которые можно использовать для установки параметров теста. Они приведены в разделе «Общие параметры» на странице руководства ниже, а также обобщены в выводе справки iperf3, который можно просмотреть, запустив iperf3 с флагом -h.

Практическое руководство. Измерение пропускной способности сети и диска с помощью IPERF3

FileCatalyst — это инструмент для ускорения передачи файлов.Как и любое программное обеспечение, оно по-прежнему ограничено производительностью оборудования и сети, в которой оно используется. Если вы пытаетесь достичь скорости выше 1 Гбит/с с помощью FileCatalyst, читайте дальше.

Если вы уже знаете, что вам потребуется передавать файлы со скоростью более 1 Гбит/с, перед установкой FileCatalyst используйте IPERF3, чтобы убедиться, что ваша система чиста и не имеет узких мест.

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

Узкие места могут возникать при попытке передачи файлов в разные места и из них. Низкая пропускная способность может возникать либо на уровне сети, либо на уровне хранилища (обычно при записи и чтении с диска). IPERF3 помогает устранять эти проблемы еще до установки FileCatalyst. IPERF3 также можно использовать для проверки правильности настройки вашего брандмауэра, чтобы позволить FileCatalyst работать с оптимальной скоростью.

Зондирование

IPERF3 сэкономит много времени при установке и настройке FileCatalyst, настройке брандмауэра и конфигурации хранилища.Поэтому мы рекомендуем иметь чистые журналы IPERF3, прежде чем пытаться установить FileCatalyst.


Предпосылки
  • Установите инструменты IPERF3 на машины, которые вы хотите протестировать.
  • Иметь доступ к обеим машинам, на которых вы будете запускать тесты. Также мы рекомендуем использовать те же машины, на которых будут установлены FileCatalyst Server и FileCatalyst Client.
  • Убедитесь, что вы разрешаете трафик UDP (чтобы гарантировать, что мы сможем использовать ускорение).

Мы рекомендуем запускать IPERF3 в следующих двух сценариях:

  1. Для новых установок и при проведении проверки концепции (POC).
  2. Для устранения проблем с производительностью.

Связанные материалы: Что такое IPERF и в чем разница между IPERF и IPERF3?


Синтаксис командной строки IPERF3

  Общий синтаксис запуска теста описан ниже:

  1. Команды на стороне сервера: iperf3 -s [параметры]
  2. Команды на стороне клиента: iperf3 -c [параметры]

Где перечислены некоторые опции:

Общие команды IPERF3:

Параметр командной строки IPERF3 Описание
-f, –формат [кмкм]

 

Буква, указывающая формат для печати значений пропускной способности.Поддерживаемые форматы

‘k’ = Кбит/с           ‘K’ = Кбайт/с

‘m’ = Мбит/с           ‘M’ = МБ/с

-J , –json Вывод в формате JSON

Команды IPERF3 только для сервера:

Параметр командной строки IPERF3 Описание
-F , –имя файла На стороне сервера: читать из сети и записывать в файл вместо того, чтобы выбрасывать данные.

Команды IPERF3 только для клиента:

Параметр командной строки IPERF3 Описание
-F , –имя файла На стороне клиента: чтение из файла и запись в сеть вместо использования случайных данных;
-у, –удп Используйте UDP, а не TCP.
-b, – пропускная способность н[км] Установите целевую пропускную способность на n бит/сек (по умолчанию 1 Мбит/сек для UDP, неограниченно для TCP).При наличии нескольких потоков (флаг -P) ограничение полосы пропускания применяется отдельно к каждому потоку. Обязательно при тестировании UDP
-R, –задний ход Запуск в обратном режиме (сервер отправляет, клиент получает).
-т, –время н Время в секундах для передачи. По умолчанию 10 секунд.


Для получения дополнительной информации
, пожалуйста, посетите официальный сайт: https://iperf.fr/iperf-doc.php#3doc

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

Сетевые тесты: примеры IPERF3

Пропускная способность UDP:

Сервер : iperf -s

Клиент : iperf3 -c 172.20.7.22 -P 2 -t 10 -b 1G -u

С этими результатами мы можем видеть:

  • Потеря пакетов
  • Если трафик UDP разрешен
  • Сетевой джиттер (Джиттер — это изменение задержки полученных пакетов в результате перегрузки сети, неправильной постановки в очередь и т. д.)

Пропускная способность TCP:

При определенных обстоятельствах нам может потребоваться протестировать пропускную способность TCP, скорее всего, для проверки поведения многопотокового TCP. Если это необходимо, вы можете использовать приведенные ниже примеры в качестве справки.

Сервер : iperf3 -s

Клиент : iperf3 -c 172.20.7.22 -P 2 -t 30. Этот тест запустит 2 потока TCP в течение 30 секунд.

Дисковые тесты: примеры IPERF3

Тестирование диска с использованием IPERF3: Disk to Memory

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

  • Использование другого файла при каждом запуске ИЛИ
  • Используйте команду для очистки кеша тайлов:
    sync; echo 3 > /proc/sys/vm/drop_caches** (как пользователь root)
    Используйте правильную команду для вашей ОС

Для этого теста использовались файлы размером 52 ГБ и 20 ГБ, запускаемые с клиента на сервер.

Для первого теста запустите тест, как мы это делали раньше, используя следующие команды:

  • Сервер: iperf3 -s
  • Клиент: iperf3 -c 172.20.7.22 -i2 -t30 -b 1G -u

Использование файла размером 20 ГБ:

Сервер : iperf3 -s

Клиент : iperf3 – c 172.20.722 -f /home/administrator/Desktop/20GB0..mov -i2 -u -b 1G -t30


Использование файла размером 52 ГБ:

Сервер : iperf3 -s


Клиент:
iperf3 -c 172.20.7.22  -f /home/administrator/Desktop/52GB0.mov -i2  -u  -b 1G -t30

Тестирование диска с использованием IPERF3: память на диск

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

Сервер : iperf3 -s -f /home/administrator/Desktop/52GB0.mov
Клиент: iperf3 -c 172.20.7.22 -i2 -u -b 1G -t30

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

Узнайте, как FileCatalyst подходит для вашей организации

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

Начать бесплатную пробную версию

Как проверить пропускную способность сети с помощью инструмента iperf3 в Linux

iperf3 — это бесплатная кроссплатформенная программа командной строки с открытым исходным кодом для измерения пропускной способности сети в режиме реального времени.Это один из мощных инструментов для тестирования максимально достижимой пропускной способности в IP-сетях (поддерживает IPv4 и IPv6 ).

Читайте также : 16 инструментов мониторинга пропускной способности для анализа использования сети в Linux

С помощью iperf вы можете настроить несколько параметров, связанных с синхронизацией, буферами и протоколами, такими как TCP, UDP, SCTP. Это удобно для операций по настройке производительности сети.

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

Его результаты включают временной интервал в секундах, переданные данные, пропускную способность (скорость передачи), потери и другие полезные параметры производительности сети. В первую очередь он предназначен для помощи в настройке TCP-соединений по определенному пути, и именно на этом мы сосредоточимся в этом руководстве.

Требования:
  • Два сетевых компьютера, на каждом из которых установлено iperf3 .

Как установить iperf3 в системах Linux

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

 $ sudo apt установить iperf3 #Debian/Ubuntu
$ sudo yum установить iperf3 #RHEL/CentOS
$ sudo dnf установить iperf3 #Fedora 22+
 

После установки iperf3 на обеих машинах можно начинать тестирование пропускной способности сети.

Как проверить пропускную способность сети между серверами Linux

Сначала подключитесь к удаленному компьютеру, который вы будете использовать в качестве сервера , и запустите iperf3 в режиме сервера, используя флаг -s , по умолчанию он будет прослушивать порт 5201 .

Вы можете указать формат ( K , M , G для KBITS , MBITS , GBITS или K , M , G для Kbytes , Mbytes , Гбайт ) для отчета, используя ключ -f , как показано.

 $ iperf3 -s -f К
 

Если порт 5201 используется другой программой на вашем сервере, вы можете указать другой порт (например, 3000 ) с помощью ключа -p , как показано.

 $ iperf3 -s -p 3000
 

Дополнительно можно запустить сервер в качестве демона, используя флаг -D , и записывать сообщения сервера в файл журнала следующим образом.

 $ iperf3 -s -D > iperf3log
 

Затем на вашей локальной машине, которую мы будем рассматривать как клиент (где и происходит фактический бенчмаркинг), запустите iperf3 в клиентском режиме, используя флаг -c , и укажите хост, на котором работает сервер (либо используя его IP-адрес, домен или имя хоста).

 $ iperf3 -c 192.168.10.1 -f К
 

Примерно через 18 - 20 секунд клиент должен завершить работу и выдать результаты, указывающие среднюю пропускную способность для эталонного теста, как показано на следующем снимке экрана.

Тестирование пропускной способности сети между серверами

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

Как выполнить расширенный тест пропускной способности сети в Linux

Существует ряд клиентских опций для выполнения расширенного теста, как описано ниже.

Одним из важных факторов, определяющих объем данных в сети в данный момент времени, является размер окна TCP — он важен при настройке соединений TCP. Вы можете установить размер окна/размер буфера сокета, используя флаг -w , как показано ниже.

 $ iperf3 -c 192.168.10.1 -f K -w 500K
 

Чтобы запустить его в обратном режиме , где сервер отправляет, а клиент получает, добавьте переключатель -R .

 $ iperf3 -c 192.168.10.1 -f K -w 500K -R
 

Чтобы выполнить двунаправленный тест , то есть одновременное измерение пропускной способности в обоих направлениях, используйте параметр -d .

 $ iperf3 -c 192.168.10.1 -f K -w 500K -d
 

Если вы хотите получить результаты сервера в выводе клиента , используйте параметр --get-server-output .

 $ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
 
Получение сетевых результатов сервера в клиенте

Также можно установить количество параллельных клиентских потоков (два в этом примере), которые выполняются одновременно, с помощью параметров -P .

 $ iperf3 -c 192.168.10.1 -f K -w 500K -P 2
 

Дополнительные сведения см. на справочной странице iperf3.

$ человек iperf3
 

Домашняя страница iperf3 : https://iperf.fr/

Вот и все! Не забывайте всегда выполнять тесты производительности сети, прежде чем переходить к фактической настройке производительности сети. iperf3 — это мощный инструмент, который пригодится для запуска тестов пропускной способности сети. Если у вас есть какие-либо мысли, чтобы поделиться или вопросы, чтобы задать, используйте форму комментариев ниже.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать:

TecMint — это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! искать или просматривать тысячи опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, пожалуйста, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Использовать службу iPerf

В состав вашего устройства IX14 входит сервер iPerf3, который можно использовать для проверки производительности вашей сети.

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

Реализация iPerf3 для IX14 поддерживает тестирование как с TCP, так и с UDP.

Примечание Использование клиентов iPerf более ранней версии, чем iPerf3, для подключения к серверу iPerf3 устройства IX14 может привести к непредсказуемым результатам. Поэтому Digi рекомендует использовать клиент iPerf версии 3 или новее для подключения к серверу iPerf3 устройства IX14.

Необходимые элементы конфигурации

Дополнительные элементы конфигурации

  • Порт, который сервер iPerf устройства IX14 будет использовать для прослушивания входящих подключений.
  • Список контроля доступа для сервера iPerf.
  • Когда сервер iPerf включен, устройство IX14 автоматически настроит правила своего брандмауэра, чтобы разрешить входящие соединения через настроенный порт прослушивания. Вы можете ограничить доступ, настроив список контроля доступа для сервера iPerf.

Чтобы включить сервер iPerf3:

  Веб-интерфейс

  1. Войдите в веб-интерфейс IX14 как пользователь с полными правами доступа администратора.
  2. В меню выберите Система . В разделе Конфигурация щелкните Конфигурация устройства .

  3. Отображается окно конфигурации .

  4. Щелкните Службы > iPerf .
  5. Щелкните Включить .
  6. (необязательно) Для IPerf Server Port введите соответствующий номер порта для прослушивающего порта iPerf server.
  7. (Необязательно) Нажмите, чтобы развернуть Список контроля доступа , чтобы ограничить доступ к серверу iPerf:
    • Чтобы ограничить доступ к указанным IPv4-адресам и сетям:
      1. Нажмите IPv4-адреса .
      2. Для Добавить адрес нажмите .
      3. Для адреса введите IPv4-адрес или сеть, которая может получить доступ к службе iperf устройства.Допустимые значения:
        • Один IP-адрес или имя хоста.
        • Обозначение сети в нотации CIDR, например, 192.168.1.0/24.
        • любой : Нет ограничений на IPv4-адреса, которые могут получить доступ к службе iperf.
      4. Нажмите еще раз, чтобы просмотреть дополнительные IP-адреса или сети.
    • Чтобы ограничить доступ к указанным IPv6-адресам и сетям:
      1. Нажмите IPv6-адреса .
      2. Для Добавить адрес нажмите .
      3. Для адреса введите IPv6-адрес или сеть, которая может получить доступ к службе iperf устройства. Допустимые значения:
      • Один IP-адрес или имя хоста.
      • Обозначение сети в нотации CIDR, например, 2001:db8::/48.
      • любой : Нет ограничений на IPv6-адреса, которые могут получить доступ к службе iperf.
    • Нажмите еще раз, чтобы просмотреть дополнительные IP-адреса или сети.
    • Чтобы ограничить доступ к хостам, подключенным через указанный интерфейс на устройстве IX14:
      1. Щелкните Интерфейсы .
      2. Для добавления интерфейса щелкните .
      3. Для интерфейса выберите соответствующий интерфейс из раскрывающегося списка.
      4. Нажмите еще раз, чтобы разрешить доступ через дополнительные интерфейсы.
    • Чтобы ограничить доступ на основе зон брандмауэра:
      1. Щелкните Зоны .
      2. Для Добавить зону щелкните .
      3. Для зоны выберите соответствующую зону брандмауэра из раскрывающегося списка.

        Информацию о зонах брандмауэра см. в разделе Конфигурация брандмауэра.

      4. Нажмите еще раз, чтобы разрешить доступ через дополнительные зоны брандмауэра.
  8. Щелкните Применить , чтобы сохранить конфигурацию и применить изменения.

  Командная строка

  1. Войдите в командную строку IX14 как пользователь с полными правами доступа администратора.

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

  2. В командной строке введите config для входа в режим настройки:
     > config
    (конфиг)> 
  3. Включить сервер iPerf:
     (config)> сервис iperf enable true
    (конфиг)> 
  4. (Необязательно) Задайте номер порта для прослушивающего порта сервера iPerf.По умолчанию 5201.
     (конфигурация)> сервис iperf порт  номер_порта 
    (конфиг)> 
  5. (Необязательно) Установите список контроля доступа, чтобы ограничить доступ к серверу iPerf:
    • Чтобы ограничить доступ к указанным IPv4-адресам и сетям:
       (config)> add service iperf acl address end  value 
      (config)> 

      Где значение может быть:

      • Один IP-адрес или имя хоста.
      • Обозначение сети в нотации CIDR, например, 192.168.1.0/24.
      • любой : нет ограничений на IPv4-адреса, которые могут получить доступ к типу службы.

      Повторите этот шаг, чтобы получить список дополнительных IP-адресов или сетей.

    • Чтобы ограничить доступ к указанным IPv6-адресам и сетям:
       (config)> add service iperf acl address6 end  value 
      (config)> 

      Где значение может быть:

      • Один IP-адрес или имя хоста.
      • Обозначение сети в нотации CIDR, например, 2001:db8::/48.
      • любой : Нет ограничений на IPv6-адреса, которые могут получить доступ к сервисному типу.

      Повторите этот шаг, чтобы получить список дополнительных IP-адресов или сетей.

    • Чтобы ограничить доступ к хостам, подключенным через указанный интерфейс на устройстве IX14:
       (config)> add service iperf acl interface end  value 
      (config)> 

      Где значение — это интерфейс, определенный на вашем устройстве.

      Показать список доступных интерфейсов:

      Использовать ... сетевой интерфейс ? для отображения информации об интерфейсе:

       (config)> ... network interface ?
      
      Интерфейсы
      
       Дополнительная конфигурация
       -------------------------------------------
       defaultip IP-адрес по умолчанию
       defaultlinklocal IP-адрес локальной ссылки по умолчанию
       локальная сеть
       петля
       модем Модем
      
      config)> 

      Повторите этот шаг, чтобы получить список дополнительных интерфейсов.

    • Чтобы ограничить доступ на основе зон брандмауэра:
       (config)> добавить service iperf acl zone end  value  

      Где value — это зона брандмауэра, определенная на вашем устройстве, или любое ключевое слово .

      Показать список доступных зон брандмауэра:

      Введите ... зона брандмауэра ? в строке конфигурации:

       (конфигурация)> ... зона брандмауэра?
      
      Зоны: список групп сетевых интерфейсов, на которые может ссылаться пакет.
      правила фильтрации и списки контроля доступа.Дополнительная конфигурация
       -------------------------------------------------- -----------------------------
        любой
        динамические_маршруты
        край
        внешний
        внутренний
        IPsec
        петля
        настраивать
      
      (конфигурация)>
       

      Повторите этот шаг, чтобы получить список дополнительных зон брандмауэра.

  6. Сохраните конфигурацию и примените изменение:
     (config)> сохранить
    Конфигурация сохранена.> 
  7. Введите exit , чтобы выйти из интерфейса командной строки администратора.

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

Пример теста производительности с использованием iPerf3

На удаленном узле с установленным iPerf3 введите следующую команду:

 $ iperf3 -c  device_ip  

, где device_ip — IP-адрес устройства IX14.Например:

 $ iperf3 -c 192.168.2.1
Подключение к хосту 192.168.2.1, порт 5201
[4] локальный порт 192.168.3.100 54934 подключен к порту 192.168.1.1 5201
[ID] Интервал передачи полосы пропускания Retr Cwnd
[ 4] 0,00-1,00 с 26,7 МБ 224 Мбит/с 8 2,68 МБ
[ 4] 1,00-2,00 с 28,4 МБ 238 Мбит/с 29 1,39 МБ
[ 4] 2,00-3,00 с 29,8 МБ 250 Мбит/с 0 1,46 МБ
[4] 3.00-4.00 с 31,2 МБ 262 Мбит/с 0 1,52 МБ
[ 4] 4,00-5,00 с 32,1 МБ 269 Мбит/с 0 1,56 МБ
[ 4] 5,00-6,00 с 32,5 МБ 273 Мбит/с 0 1,58 МБ
[ 4] 6,00-7,00 с 33,9 МБ 284 Мбит/с 0 1,60 МБ
[ 4] 7,00-8,00 с 33,7 МБ 282 Мбит/с 0 1,60 МБ
[ 4] 8,00-9,00 с 33,5 МБ 281 Мбит/с 0 1,60 МБ
[4] 9.00-10.00 с 33,2 МБ 279 Мбит/с 0 1,60 МБ
- - - - - - - - - - - - - - - - - - - - - - - - -
[ID] Интервал передачи пропускной способности Retr
[ 4] 0.00-10.00 сек 315 МБ 264 Мбит/сек 37 отправитель
[ 4] 0.00-10.00 сек 313 МБ 262 Мбит/сек приемник

иперф Готово.
$ 
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *