103 lines
5.5 KiB
Markdown
103 lines
5.5 KiB
Markdown
|
### iperf
|
|||
|
**Совместимость iPerf и iPerf3**
|
|||
|
Клиент и сервер совместимы, но нужно знать, что по умолчанию, рабочий порт для iPerf — 5001, для iPerf3 — 5201.
|
|||
|
**Установка**
|
|||
|
```bash
|
|||
|
sudo apt install iperf
|
|||
|
```
|
|||
|
или
|
|||
|
```bash
|
|||
|
sudo apt install iperf3
|
|||
|
```
|
|||
|
Запускаем сервер:
|
|||
|
```bash
|
|||
|
iperf3 -s
|
|||
|
```
|
|||
|
На экране появится:
|
|||
|
```
|
|||
|
-----------------------------------------------------------
|
|||
|
Server listening on 5201
|
|||
|
-----------------------------------------------------------
|
|||
|
```
|
|||
|
Сервер ждет запросов.
|
|||
|
**Все ключи запуска iPerf**
|
|||
|
**Общие для сервера и клиента:**
|
|||
|
Ключ Описание
|
|||
|
`-p` _Определить порт, на котором будет слушать сервер или отправлять запросы клиент_
|
|||
|
`-f` _Формат отчетов — kmgKMG (Kbits, Mbits, KBytes, MBytes, ...)_
|
|||
|
`-i` _Задать интервал, в течение которого выполняется одна проверка_
|
|||
|
`-F` _Указать файл, из которого будут взяты входные данные для запуска_
|
|||
|
`-A` _Степень нагрузки на процессор_
|
|||
|
`-B` _Указать, через какой сетевой интерфейс работать_
|
|||
|
`-V` _Детализированные сообщения в консоли_
|
|||
|
`-J` _Вывод в формате json_
|
|||
|
`--logfile` _Весь вывод в отдельный лог-файл_
|
|||
|
`-d` _Режим отладки (много сообщений)_
|
|||
|
`-v` _Показать версию программы_
|
|||
|
`-h` _Вызвать справку по работе с программой_
|
|||
|
|
|||
|
**Для сервера:**
|
|||
|
Ключ Описание
|
|||
|
`-s` _Запустить iPerf в режиме сервера_
|
|||
|
`-D` _Запустить как демона (как службу)_
|
|||
|
`-I` _Указать pid-файл_
|
|||
|
`-1` _Принять запрос от одного клиента и завершить работу_
|
|||
|
|
|||
|
**Для клиента:**
|
|||
|
Ключ Описание
|
|||
|
`-c` _Запустить iPerf в режиме клиента_
|
|||
|
`-u` _Отправлять UDP-пакеты_
|
|||
|
`-b` _Формат отчетов для bandwidth (средней скорости)_
|
|||
|
`-t` _Количество секунд, в течение которых будет идти проверка скорости_
|
|||
|
`-n` _Объем данных для проверки (применяется вместо времени -t)_
|
|||
|
`-k` _Количество пакетов для проверки (вместо -t или -n)_
|
|||
|
`-l` _Размер буфера записи/чтения для TCP (по-умолчанию 128K), размер пакета для UDP (по-умолчанию 1470)_
|
|||
|
`-P` _Число параллельных запросов_
|
|||
|
`-R` _Обратный режим — сервер отправляет, клиент принимает_
|
|||
|
`-w` _Размер сетевого окна_
|
|||
|
`-C` _Установить алгоритм управления перегрузкой TCP_
|
|||
|
`-M` _Задать максимальный размер MTU_
|
|||
|
`-4` _Работать только для IPv4_
|
|||
|
`-6` _Работать только для IPv6_
|
|||
|
`-Z` _Использовать метод «нулевой копии» для отправки данных_
|
|||
|
`-O` _Опустить первые n секунд_
|
|||
|
`-T` _Задать префикс для каждой строки вывода_
|
|||
|
|
|||
|
Также самый свежий список ключей можно получить командой:
|
|||
|
```bash
|
|||
|
man iperf3
|
|||
|
```
|
|||
|
**Примеры использования iPerf**
|
|||
|
_Рассмотрим некоторые команды запросов к серверу для проверки скорости соединения._
|
|||
|
Использование UDP
|
|||
|
```bash
|
|||
|
iperf3 -c 192.168.0.15 -u
|
|||
|
```
|
|||
|
* сам сервер не нужно запускать в UDP-режиме, так как он принимает любые запросы.
|
|||
|
|
|||
|
Альтернативные порты
|
|||
|
_Для этого необходимо сначала запустить сервер на нужном порту:_
|
|||
|
```bash
|
|||
|
iperf3 -s -p 443
|
|||
|
```
|
|||
|
* кстати, можно запустить несколько процессов iperf одновременно, которые будут слушать на разных портах.
|
|||
|
* стоит не забывать про настройки брандмауэра. В данном примере понадобиться ввести команды `firewall-cmd --permanent --add-port=443/tcp и firewall-cmd --reload`.
|
|||
|
|
|||
|
Теперь можно запускать клиента:
|
|||
|
```bash
|
|||
|
iperf3 -c 192.168.0.15 -p 443
|
|||
|
```
|
|||
|
Проверка скорости в течение 30 секунд с интервалами по 2 секунды
|
|||
|
```bash
|
|||
|
iperf3 -c 192.168.0.15 -t 30 -i 2
|
|||
|
```
|
|||
|
Несколько параллельных запросов
|
|||
|
```bash
|
|||
|
iperf3 -c 192.168.0.15 -P 3
|
|||
|
```
|
|||
|
Отправляем на проверку 3 Гб данных
|
|||
|
```bash
|
|||
|
iperf3 -c 192.168.0.15 -n 3G
|
|||
|
```
|
|||
|
|