Айперф замер скорости интернета

iPerf — The ultimate speed test tool for TCP, UDP and SCTP Test the limits of your network + Internet neutrality test

iPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, buffers and protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports the bandwidth, loss, and other parameters. This is a new implementation that shares no code with the original iPerf and also is not backwards compatible. iPerf was orginally developed by NLANR/DAST. iPerf3 is principally developed by ESnet / Lawrence Berkeley National Laboratory. It is released under a three-clause BSD license.

iPerf features

  • TCP and SCTP
    • Measure bandwidth
    • Report MSS/MTU size and observed read sizes.
    • Support for TCP window size via socket buffers.
    • Client can create UDP streams of specified bandwidth.
    • Measure packet loss
    • Measure delay jitter
    • Multicast capable

    IP information (on your terminal)

    • The default IP protocol is IPv4
    • Your public IPv4 address is : 95.143.190.109 (Reverse DNS: 95.143.190.109)
    • Your public IPv6 address is : You do not have IPv6 connectivity (Reverse DNS: n/a)

    Mailing list

    To post a message to all the list members, you need to subscribe to Iperf-users.

    To see the collection of prior postings to the list, visit the Iperf-users Archives.

    Bug Report for iPerf3

    Before submitting a bug report, try checking out the latest version of the code, and confirm that it’s not already fixed. Then submit to the iPerf3 issue tracker on GitHub: https://github.com/esnet/iperf/issues

    Known Issues

    The following problems are notable known issues, which are probably of interest to a large fraction of users or have high impact for some users, and for which issues have already been filed in the issue tracker. These issues are either open (indicating no solution currently exists) or closed with the notation that no further attempts to solve the problem are currently being made:

    • UDP performance: Some problems have been noticed with iperf3 on the ESnet 100G testbed at high UDP rates (above 10Gbps). The symptom is that on any particular run of iperf3 the receiver reports a loss rate of about 20%, regardless of the «-b« option used on the client side. This problem appears not to be iperf3-specific, and may be due to the placement of the iperf3 process on a CPU and its relation to the inbound NIC. In some cases this problem can be mitigated by an appropriate use of the CPU affinity («-A«) option. (Issue #55)
    • Interval reports on high-loss networks: The way iperf3 is currently implemented, the sender write command will block until the entire block has been written. This means that it might take several seconds to send a full block if the network has high loss, and the interval reports will have widely varying interval times. A solution is being discussed, but in the meantime a work around is to try using a small block size, for example «-l 4K«. (Issue #125, a fix will be released in iperf 3.1)
    • The «-Z« flag sometimes causes the iperf3 client to hang on OSX. (Issue #129)
    • When specifying the TCP buffer size using the «-w« flag on Linux, the Linux kernel automatically doubles the value passed in to compensate for overheads. (This can be observed by using iperf3’s «—debug« flag.) However, CWND does not actually ramp up to the doubled value, but only to about 75% of the doubled value. Some part of this behavior is documented in the tcp(7) manual page. (Issue #145)

    Bug Report for iPerf2

    The best way to get help with iPerf2 is by using its forum https://sourceforge.net/p/iperf2/discussion/

    Update site iperf.fr

    To update this site, please report them to vivien16@gueant.org and we will try to fix them quickly.

    Code Authors

    The main authors of iPerf3 are (in alphabetical order): Jon Dugan, Seth Elliott, Bruce A. Mah, Jeff Poskanzer, Kaustubh Prabhu. Additional code contributions have come from (also in alphabetical order): Mark Ashley, Aaron Brown, Aeneas Jaißle, Susant Sahani, Bruce Simpson, Brian Tierney.

    iPerf3 contains some original code from iPerf2. The authors of iPerf2 are (in alphabetical order): Jon Dugan, John Estabrook, Jim Ferbuson, Andrew Gallatin, Mark Gates, Kevin Gibbs, Stephen Hemminger, Nathan Jones, Feng Qin, Gerrit Renker, Ajay Tirumala, Alex Warshavsky.

    Acknowledgements for iPerf1: Thanks to Mark Gates (NLANR), Alex Warshavsky (NLANR) and Justin Pietsch (University of Washington) who were responsible for the 1.1.x releases of Iperf. For iPerf 1.7, we would like to thank Bill Cerveny (Internet2), Micheal Lambert (PSC), Dale Finkelson (UNL) and Matthew Zekauskas (Internet2) for help in getting access to IPv6 networks / machines. Special thanks to Matthew Zekauskas (Internet2) for helping out in the FreeBSD implementation. Also, thanks to Kraemer Oliver (Sony) for providing an independent implementation of IPv6 version of Iperf, which provided a useful comparison for testing our features.

    Thanks to ESnet for re-rolling iperf from the ground up. iPerf3 is a killer piece of software.

    Thanks to for hosting iPerf.fr.

    Источник

    iPerf3 — измерение пропускной способности сети

    Network

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

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

    C:\Distr\iperf-3.1.3-win64\iperf-3.1.3-win64>iperf3.exe /? iperf3: parameter error - must either be a client (-c) or server (-s) Usage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version] Server or Client: -p, --port # server port to listen on/connect to -f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes -i, --interval # seconds between periodic bandwidth reports -F, --file name xmit/recv the specified file -B, --bind bind to a specific interface -V, --verbose more detailed output -J, --json output in JSON format --logfile f send output to a log file -d, --debug emit debugging output -v, --version show version information and quit -h, --help show this message and quit Server specific: -s, --server run in server mode -D, --daemon run the server as a daemon -I, --pidfile file write PID file -1, --one-off handle one client connection then exit Client specific: -c, --client run in client mode, connecting to -u, --udp use UDP rather than TCP -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited) (default 1 Mbit/sec for UDP, unlimited for TCP) (optional slash and packet count for burst mode) -t, --time # time in seconds to transmit for (default 10 secs) -n, --bytes #[KMG] number of bytes to transmit (instead of -t) -k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of - t or -n) -l, --len #[KMG] length of buffer to read or write (default 128 KB for TCP, 8 KB for UDP) --cport bind to a specific client port (TCP and UDP, default : ephemeral port) -P, --parallel # number of parallel client streams to run -R, --reverse run in reverse mode (server sends, client receives) -w, --window #[KMG] set window size / socket buffer size -M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes) -N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm -4, --version4 only use IPv4 -6, --version6 only use IPv6 -S, --tos N set the IP 'type of service' -Z, --zerocopy use a 'zero copy' method of sending data -O, --omit N omit the first n seconds -T, --title str prefix every output line with this string --get-server-output get results from server --udp-counters-64bit use 64-bit counters in UDP test packets [KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga- iperf3 homepage at: http://software.es.net/iperf/ Report bugs to: https://github.com/esnet/iperf

    Пример использования

    ipref3

    iperf3.exe -с 10.10.12.8 -P 5 -R

    Источник

    Установка, настройка и использование iPerf

    Обновлено

    Обновлено: 28.06.2018 Опубликовано: 03.07.2017

    Тематические термины: iPerf, Linux, CentOS, Windows iPerf является кроссплатформенным приложением и может быть установлен на любую популярную операционную систему. В данной инструкции будет рассмотрена установка сервера на Linux CentOS и клиента как на последнем, так и Microsoft Windows.

    Установка сервера/клиента

    По сути, нет отдельного iPerf для сервера или клиента — это один и тот же программный продукт, который может запускаться в режиме сервера или выполнять клиентские команды. Для начала выполняем установку расширенного репозитория:

    * в данном примере мы открыли порт 5201 (для iPerf по умолчанию) для пакетов TCP и UDP. Запускаем сервер:

    Клиентские запросы и проверка сервера

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

    [ 4] local 192.168.0.20 port 47068 connected to 192.168.0.15 port 5201
    [ ID] Interval Transfer Bandwidth Retr Cwnd
    [ 4] 0.00-1.00 sec 104 MBytes 873 Mbits/sec 10 391 KBytes
    [ 4] 1.00-2.00 sec 110 MBytes 921 Mbits/sec 4 393 KBytes
    [ 4] 2.00-3.00 sec 111 MBytes 928 Mbits/sec 1 478 KBytes
    [ 4] 3.00-4.00 sec 104 MBytes 875 Mbits/sec 5 423 KBytes

    • 192.168.0.20 — адрес клиента
    • 192.168.0.15 — адрес сервера
    • ID — идентификатор запросов, нужен для ориентирования, если к серверу идет несколько обращений.
    • Interval — промежуток времени в секундах, на протяжении которого выполнялась передача данных.
    • Transfer — сколько было передано данных за интервал времени.
    • Bandwidth — средняя скорость передачи данных за интервал времени.
    • Retr — количество повторно отправленных TCP-сегментов.
    • Cwnd — одновременно переданных данных.

    Все ключи запуска 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 Длина буфера записи/чтения
    -P Число параллельных запросов
    -R Обратный режим — сервер отправляет, клиент принимает
    -w Размер сетевого окна
    -C Установить алгоритм управления перегрузкой TCP
    -M Задать максимальный размер MTU
    -4 Работать только для IPv4
    -6 Работать только для IPv6
    -Z Использовать метод «нулевой копии» для отправки данных
    -O Опустить первые n секунд
    -T Задать префикс для каждой строки вывода

    Также самый свежий список ключей можно получить командой:

    Автозапуск сервера (создание сервиса в systemd)

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

    Создаем юнит в systemd со следующим содержимым:

    [Unit]
    Description=iPerf Service
    After=network.target

    [Service]
    Type=forking
    PIDFile=/run/iperf3.pid
    ExecStart=-/bin/iperf3 -s -D -I /run/iperf3.pid
    ExecReload=/bin/kill -HUP $MAINPID
    Restart=always

    • Description — описание юнита;
    • After указывает на юнит, после которого может загружаться наш сервис;
    • Type — тип службы;
    • PIDFile — путь к pid файлу, в котором хранится номер процесса;
    • ExecStart — команда, которую нужно выполнить при старте сервиса (в данном примере запускается iPerf в режиме сервера как демон и создает pid-файл);
    • ExecReload — команда для перезапуска службы;
    • Restart=always — опция, позволяющая автоматически перезапускать сервис, если он перестанет работать;
    • опция WantedBy=multi-user.target позволяет установить для автозапуска службу в обычном многопользовательском режиме.

    Разрешаем созданный сервис:

    Источник

    Читайте также:  Как проверить скорость интернета мтс роутера
Оцените статью
Adblock
detector