Различия

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

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

сети:измерение_скорости_доступа_к_серверу_с_помощью_iperf [2011/03/09 14:45] (текущий)
Строка 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> оптимизация диагностика}} ​