Скорость сетевого подключения сервера к каналам связи оказывает прямое влияние на быстродействие сайта. Как измерить скорость подключения VPS к интернету? Есть простой способ.
Зачем измерять скорость сетевого подключения
Зачастую хостеры экономят на оборудовании, вроде бы покупаешь нормальную конфигурацию сервера - и диск быстрый, и процессоры мощные и сервер в крупном дата-центре в столице. А сайт еле шевелится. И вот толпы разработчиков оптимизируют его под Яндекс, под Google PageSpeed Insights, снова и снова настраивают сервер. А скорость не растет, сайт ползает.И в последнюю очередь в голову приходит мысль о том, что не мешало бы проверить с какой скоростью наш сайт подключен к внешним каналам Интернета. Если на ваш VPS выделяется полоса пропускания в 100 Мбит/сек, то вряд ли он будет быстр и весел под нагрузкой. В среднем он сможет быстро отдать контент 3 посетителям одновременно, четвертый уже будет ждать освобождения полосы пропускания.
Способы измерения скорости сети
Утилита wget
С давних времен известен простой способ скачивания 100 Мб файла с соседнего сервера утилитой wget. Но сегодня это не модно, да и скорость будет ограничена характеристиками соседнего сервера.Сервис SpeedTest.net
Будем использовать консольную утилиту speedtest-cli. Это клиент SpeedTest.net на Python, он может измерять скорость интернета на сервере как на прием, так и на передачу. Можно измерить скорость до конкретного узла или поделиться результатом через интернет.Установка speedtest-cli
Для начала надо установить сам Python:
Исходный код:
Затем придется скачать сам клиент и предоставить файлу права на исполнение:
yum -y install python
Исходный код:
Теперь можно запустить клиента командой:cd ~ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli
Исходный код:
./speedtest-cli
Опции speedtest-cli
По умолчанию скорость показана в битах. Вы можете посмотреть результат выполнения в байтах, для этого есть специальный ключ --bytes. Вот так его можно использовать:
Исходный код:
Можно использовать несколько ключей одновременно, просто пропишите их все в команде. Вот несколько полезных ключей с пояснениями:./speedtest-cli --bytes
Исходный код:
./speedtest-cli --simple #короткий вывод, только пинг и скорость ./speedtest-cli --share #ссылка на результат измерений ./speedtest-cli --list #список серверов ./speedtest-cli --version #вывод версии утилиты ./speedtest-cli --help #вывод помощи
Выбор сервера speedtest
По-умолчанию, утилита находит ближайший узел и замеряет скорость с его помощью, но вы можете изменить это поведение. Для начала нам нужно узнать ID интересующих нас узлов. Например, если нам нужны узлы в Москве, то можем отфильтровать узлы с помощью grep:
Исходный код:
А можем скачать список всех узлов с сайта speedtest.net утилитой wget:./speedtest-cli --list | grep Moscow
Исходный код:
Узнаем нужный ID и проверяем скорость соединения с этим узлом:wget http://www.speedtest.net/speedtest-servers.php
Исходный код:
./speedtest-cli --server 6827
Для тестов мы использовали облачные серверы REG.RU и как видите, они показывают очень неплохую скорость. И это с учетом того, что тесты проводились на самом дешевом стандартном сервере. Для проектов на 1С-Битрикс мы рекомендуем облачные Высокочастотные серверы они реально быстрые, отзывчивые и удобные.