Страницы

четверг, 15 марта 2018 г.

Измерение скорости сети. Как пользоваться iperf.

Если вы захотите померить скорость своего интернет дома, то скорее всего в используете сервис http://www.speedtest.net/ru. Принцип проверки основан на отправке пакета и замера скорости с которой они приходит к выбранному хосту и обратно. Сами сотрудники компаний провейдеров пользуются им, так что его можно считать авторитетным и точным измерителем скорости интерната со стороны домашнего пользователь.

А что делать, если нужно проверить скость (пропускную спобосность) внутри локальной сети? Возможно что Ваша локальная сеть уже давно перестала быть только "локальной" и объединяет в себя несколько подсетей и несколько офисов, географиечски расположенных в разных населенных пунктах или даже в разных странах, несмотря на адресацию такая сеть уже подходит под класс WAN.  И для выявления проблемы необходимо точно замерить скорость. В таких ситуациях сервис speedtest.net вряд ли может пригодится, а простая команда ping не даст никаких нужных данных, копирование файлов с сервера на сервер с замером времени не решение проблемы.

Мы используем утилиту iperf, разработанния Лабораторией Беркли. Утилита консольная, распространяется по лицензии BSD, т.е. можно сказать что она бесплатная. Версии для большого количества ОС прямо на сайте можно скачать прямой скачкой.

Суть ее заключается в следующем: Приложение запускается на клиенте и на сервере. После чего клеинт генерирует трафик на сервер и обратно. Каждый пакет разного размера после отправки анализируется и вываодится скорость передачи в обоих направлениях.

Соответвенно можно судить как работает наша сеть.

Наша сеть выглядит примерно так (самые секретные детали убраны из схемы):

Офис и дата центр соединены VPN  пользователи работают на серверах расположенных в Дата Центре. Последние жалобы на скорость открытия приложения с сервера. Поэтому нужно протестировать компьютер конкретного клиента и конкретный сервер. На моей схеме путь пакета отмечен красным.

Делаем следующее:

1. Скачиваем дистрибутив приложения. Ссылка https://iperf.fr/download/windows/iperf-3.1.3-win64.zip Он состоит из одного исполняемого файла и библиотеки. 

2. Размещяем содержимое архива на сервере и на клиенте.

3. Начинаем с сервера. Запускаем приложение. Обязательно в командной строке.
 Win+R -> CMD и  Проходим путь к нужной папке, где расположен исполняемый файл iperf и запускем его:

iperf3 - sd 
где s (server) - это запуск в режиме сервера, а d (dualtest) - запуск в режиме обратного тестирования, т.е. пакет будет отправлен как от клиента на сервер так и в обратном направлении.

Сервер отвечает, что запущен и слушает на порт 5201, значит все работает исправно. Двигаемся дальше.



4. Запускаем на клиенте. 

iperf3 - c 172.19.17.54 -V -P 10 --logfile client-to-fileserver.txt

где c (client) - запуск в режиме клиента, после этого параметра через пробел пишется адрес сервера, V (verbose) более детальная информация, P (Parallel streams), количество одновременных потоков, по умолчанию один, я сделал 10, чтобы нагрузить канал побольше, так как в офисе работает на один сотрудник и не с одним файлом/приложением на сервере --logfile - чтобы весь вывод коммандной строки собирался в файл, мне это нужно, так как я буду отправлять результаты сетевой команде для изучения. client-to-fileserver.txt это название файла.























После завершения тестирования скорость можно посмотреть в Summary Results - наша скорость 64 Мегабита, совсем не плохо.

Далее резмещаем файлы на другом сервере, запускаем той же командой и проверяем соединение с другим сервером. 

Комментариев нет:

Отправить комментарий