Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

сети:измерение_скорости_доступа_к_серверу_с_помощью_iperf [2011/03/09 14:45]
сети:измерение_скорости_доступа_к_серверу_с_помощью_iperf [2022/04/01 15:08] (текущий)
Строка 1: Строка 1:
 +====== измерение скорости доступа к серверу с помощью iperf ======
 +Применимость: Linux, windows
  
 +Слова для поиска: benchmark
 +
 +----
 +== Задача: ==
 +Нужно измерить реальную скорость доступа к серверу
 +== Решение: ==
 +
 +К сожалению общедоступные сервисы для измерения скорости доступа нельзя считать объективными.
 +
 +Надо понимать, что это коммерческие проекты со специфическими задачами.
 +
 +Измерения скорости доступа правильнее производить с помощью специальных утилит в конкретных условиях. 
 +
 +====== Iperf ======
 +
 +
 +**Iperf** — кроссплатформенная консольная клиент-серверная программа — генератор трафика для тестирования пропускной способности сети.
 +
 +Для измерения требуется два хоста (компьютера). Например виртуальный сервер на хостинге и ваш ПК.
 +
 +Размееется, лучше использовать другой сервер  расположенный в сети с быстрыми и не нагруженными каналами связи.
 +
 +
 +
 +=====  Базовые параметры  =====
 +Для тестирования производительности сети в течение 10 секунд:
 +
 +На сервере выполняется команда:
 +  iperf -s
 +На клиенте:  
 +  iperf -c server_host
 +  
 +
 +=====  Пример 1  =====
 +
 +Сервер:
 +<code> 
 +iperf -s
 +  ------------------------------------------------------------
 +  Server listening on TCP port 5001
 +  TCP window size: 85.3 KByte (default)
 +  ------------------------------------------------------------
 +</code>
 +Клиент: 
 +<code>  
 +  iperf -c 95.169.186.76
 +------------------------------------------------------------
 +Client connecting to 95.169.186.76, TCP port 5001
 +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       Transfer     Bandwidth
 +[  3]  0.0-10.0 sec  96.3 MBytes  80.5 Mbits/sec
 +</code>
 +=====  Пример 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
 +Результат выполнения команды:  
 +<code>
 +iperf -c 77.72.128.72 -p 42113 -l 256K -w 256K
 +------------------------------------------------------------
 +Client connecting to 77.72.128.72, TCP port 42113
 +TCP window size:   256 KByte (WARNING: requested   256 KByte)
 +------------------------------------------------------------
 +[  4] local 95.169.186.76 port 46549 connected with 77.72.128.72 port 42113
 +[ ID] Interval       Transfer     Bandwidth
 +[  4]  0.0-10.0 sec  54.2 MBytes  45.5 Mbits/sec
 +[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 port 42113
 +TCP window size:   256 KByte (WARNING: requested   256 KByte)
 +------------------------------------------------------------
 +[  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       Transfer     Bandwidth
 +[ 14]  0.0- 0.0 sec    188 KBytes  69.9 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[  5]  0.0-120.0 sec    152 MBytes  10.6 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[  8]  0.0-120.1 sec    154 MBytes  10.8 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[ 12]  0.0-120.1 sec    152 MBytes  10.6 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[ 10]  0.0-120.1 sec    153 MBytes  10.7 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[ 13]  0.0-120.1 sec    152 MBytes  10.6 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[  6]  0.0-120.1 sec    154 MBytes  10.7 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[  4]  0.0-120.2 sec    154 MBytes  10.8 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[ 11]  0.0-120.2 sec    142 MBytes  9.90 Mbits/sec
 +[ ID] Interval       Transfer     Bandwidth
 +[  9]  0.0-120.4 sec    135 MBytes  9.41 Mbits/sec
 +[SUM]  0.0-120.4 sec  1.32 GBytes  94.0 Mbits/sec
 +</code>
 +таким образом я получил сумаррную ширину канала 94.0 Mbits/sec, что вполне соотвествует скорости используемых каналов для данного сервера.
 +
 +=====  Пример 3  =====
 +
 +Запуск сервера в UDP-режиме с выводом результатов раз в секунду, на порту 65005
 +  iperf -u -s -i1 -p 65005
 +Тестирование UDP c длиной 100 байт со скоростью 20 Кбит/с в течение 180 секунд (имитация [[VoIP]] трафика, запускать нужно в обе стороны).
 +  iperf -u -c server_host -l100 -b20k -t180
 +Послать поток 10 мегабит, на порт 65005
 +  iperf -n 10m -p 65005 -c server_host
 +
 +Вывод:
 +<code>
 +[[|ID]] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
 +[[| 4]] 0.0- 1.0 sec   1.3 MBytes   10.0 Mbits/sec  0.209 ms    1/  894 (0.11%)
 +</code>
 +
 +=====  Ссылки  =====
 +  * [[http://www.transtk.ru/www/nsf/site.nsf/all/32DC8C9E2B6541A8C325705A0049A03B|Рекомендации]] магистрального провайдера ТрансТелеКом по измерению емкости предоставленного порта
 +  * [[http://www.ixbt.com/comm/gig-eth-32bit-2.shtml|Описание методики тестирование гигабитных карт]]
 +  * [[http://www.bog.pp.ru/work/network_performance.html|Bog BOS: Производительность сети и её измерение]]
 +
 +---- 
 +Актуальность: 2011/03/09 15:20 
 +
 +{{tag> оптимизация диагностика}}