Различия
Показаны различия между двумя версиями страницы.
сети:измерение_скорости_доступа_к_серверу_с_помощью_iperf [2011/03/09 14:45] |
сети:измерение_скорости_доступа_к_серверу_с_помощью_iperf [2022/04/01 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== измерение скорости доступа к серверу с помощью iperf ====== | ||
+ | Применимость: | ||
+ | Слова для поиска: | ||
+ | |||
+ | ---- | ||
+ | == Задача: | ||
+ | Нужно измерить реальную скорость доступа к серверу | ||
+ | == Решение: | ||
+ | |||
+ | К сожалению общедоступные сервисы для измерения скорости доступа нельзя считать объективными. | ||
+ | |||
+ | Надо понимать, | ||
+ | |||
+ | Измерения скорости доступа правильнее производить с помощью специальных утилит в конкретных условиях. | ||
+ | |||
+ | ====== Iperf ====== | ||
+ | |||
+ | |||
+ | **Iperf** — кроссплатформенная консольная клиент-серверная программа — генератор трафика для тестирования пропускной способности сети. | ||
+ | |||
+ | Для измерения требуется два хоста (компьютера). Например виртуальный сервер на хостинге и ваш ПК. | ||
+ | |||
+ | Размееется, | ||
+ | |||
+ | |||
+ | |||
+ | ===== Базовые параметры | ||
+ | Для тестирования производительности сети в течение 10 секунд: | ||
+ | |||
+ | На сервере выполняется команда: | ||
+ | iperf -s | ||
+ | На клиенте: | ||
+ | iperf -c server_host | ||
+ | | ||
+ | |||
+ | ===== Пример 1 ===== | ||
+ | |||
+ | Сервер: | ||
+ | < | ||
+ | iperf -s | ||
+ | ------------------------------------------------------------ | ||
+ | Server listening on TCP port 5001 | ||
+ | TCP window size: 85.3 KByte (default) | ||
+ | ------------------------------------------------------------ | ||
+ | </ | ||
+ | Клиент: | ||
+ | < | ||
+ | iperf -c 95.169.186.76 | ||
+ | ------------------------------------------------------------ | ||
+ | Client connecting to 95.169.186.76, | ||
+ | TCP window size: 16.0 KByte (default) | ||
+ | ------------------------------------------------------------ | ||
+ | [ 3] local 77.72.128.66 port 38250 connected with 95.169.186.76 port 5001 | ||
+ | [ ID] Interval | ||
+ | [ 3] 0.0-10.0 sec 96.3 MBytes | ||
+ | </ | ||
+ | ===== Пример 2 ===== | ||
+ | |||
+ | На одной из сторон запускаем программу в режиме сервера: | ||
+ | iperf -s -p 42113 -l 256K -w 256K | ||
+ | На другой стороне запускаем программу с буферами по 256К на запись и чтение в режиме клиента который создает 10 потоков на протяжении 120 секунд: | ||
+ | iperf -c 77.72.128.72 -p 42113 -l 256K -w 256K -P 10 -t 120 | ||
+ | Результат выполнения команды: | ||
+ | < | ||
+ | iperf -c 77.72.128.72 -p 42113 -l 256K -w 256K | ||
+ | ------------------------------------------------------------ | ||
+ | Client connecting to 77.72.128.72, | ||
+ | TCP window size: 256 KByte (WARNING: requested | ||
+ | ------------------------------------------------------------ | ||
+ | [ 4] local 95.169.186.76 port 46549 connected with 77.72.128.72 port 42113 | ||
+ | [ ID] Interval | ||
+ | [ 4] 0.0-10.0 sec 54.2 MBytes | ||
+ | [root@km31618 html]# iperf -c 77.72.128.72 -p 42113 -l 256K -w 256K -P 10 -t 120 | ||
+ | ------------------------------------------------------------ | ||
+ | Client connecting to 77.72.128.72, | ||
+ | TCP window size: 256 KByte (WARNING: requested | ||
+ | ------------------------------------------------------------ | ||
+ | [ 5] local 95.169.186.76 port 46551 connected with 77.72.128.72 port 42113 | ||
+ | [ 6] local 95.169.186.76 port 46552 connected with 77.72.128.72 port 42113 | ||
+ | [ 14] local 95.169.186.76 port 46559 connected with 77.72.128.72 port 42113 | ||
+ | [ 8] local 95.169.186.76 port 46553 connected with 77.72.128.72 port 42113 | ||
+ | [ 10] local 95.169.186.76 port 46555 connected with 77.72.128.72 port 42113 | ||
+ | [ 11] local 95.169.186.76 port 46556 connected with 77.72.128.72 port 42113 | ||
+ | [ 12] local 95.169.186.76 port 46557 connected with 77.72.128.72 port 42113 | ||
+ | [ 9] local 95.169.186.76 port 46554 connected with 77.72.128.72 port 42113 | ||
+ | [ 13] local 95.169.186.76 port 46558 connected with 77.72.128.72 port 42113 | ||
+ | [ 4] local 95.169.186.76 port 46550 connected with 77.72.128.72 port 42113 | ||
+ | write2 failed: Connection reset by peer | ||
+ | [ ID] Interval | ||
+ | [ 14] 0.0- 0.0 sec 188 KBytes | ||
+ | [ ID] Interval | ||
+ | [ 5] 0.0-120.0 sec 152 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 8] 0.0-120.1 sec 154 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 12] 0.0-120.1 sec 152 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 10] 0.0-120.1 sec 153 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 13] 0.0-120.1 sec 152 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 6] 0.0-120.1 sec 154 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 4] 0.0-120.2 sec 154 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 11] 0.0-120.2 sec 142 MBytes | ||
+ | [ ID] Interval | ||
+ | [ 9] 0.0-120.4 sec 135 MBytes | ||
+ | [SUM] 0.0-120.4 sec 1.32 GBytes | ||
+ | </ | ||
+ | таким образом я получил сумаррную ширину канала 94.0 Mbits/sec, что вполне соотвествует скорости используемых каналов для данного сервера. | ||
+ | |||
+ | ===== Пример 3 ===== | ||
+ | |||
+ | Запуск сервера в UDP-режиме с выводом результатов раз в секунду, | ||
+ | iperf -u -s -i1 -p 65005 | ||
+ | Тестирование UDP c длиной 100 байт со скоростью 20 Кбит/с в течение 180 секунд (имитация [[VoIP]] трафика, | ||
+ | iperf -u -c server_host -l100 -b20k -t180 | ||
+ | Послать поток 10 мегабит, | ||
+ | iperf -n 10m -p 65005 -c server_host | ||
+ | |||
+ | Вывод: | ||
+ | < | ||
+ | [[|ID]] Interval | ||
+ | [[| 4]] 0.0- 1.0 sec 1.3 MBytes | ||
+ | </ | ||
+ | |||
+ | ===== Ссылки | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ---- | ||
+ | Актуальность: | ||
+ | |||
+ | {{tag> оптимизация диагностика}} |