Тест скорости Интернета в Windows из CMD/PowerShell

Для онлайн тестирования скорости интернета существуют большое количество онлайн-сервисов. Если вам нужно периодически собирать метрики скорости Интернет-подключения от провайдера для системы мониторинга, можно воспользоваться широко известной консольный клиент Speedtest от Ookla. В этой статье, мы рассмотрим, как измерить скорость Интернет-подключения из командной строки Windows (скрипта PowerShell).

Скачайте консольную утилиту speedtest.exe для Windows с сайта https://www.speedtest.net/apps/cli и распакуйте в локальный каталог.

Чтобы автоматически протестировать скорость скачивания/загрузки сети до ближайшей к вам локации с сервисом Speedtest, выполните команду:

.speedtest.exe

speedtest.exe проверка скорости интернета из командной строки windows

Утилита вернет скорость скачивания, загрузки (в Мбит/с), сетевые задержки с вашего компьютера до ближайшего сервера Speedtest. Если сервер расположен близко к вам (а их действительно очень много), условно это и будет вашей скоростью Интернета.

Можно вручную выбрать провайдера, страну и город с сервером Speedtest, до которого нужно тестировать подключение. Выведите список ближайших точек и скопируйте ID:

.speedtest.exe -L

Выполнить тестирование до выбранного сервера:

.speedtest.exe -s 37149

speedtest - выбрать точку до которой нужно проверить скорость загрузки

Утилита speedtest позволяет возвращать результаты в структурированных форматах (CSV, JSON, TSV), что удобно, когда вам нужно дополнительно извлечь данные из результатов или отправить результату проверки в систему мониторинга.

Например, чтобы получить результаты тестирования скорости Интернета из скрипта PowerShell:

$speedtestcmd = & "C:psSpeedtestspeedtest.exe" --accept-license -s 37149 -f json
$speedtestresult=ConvertFrom-Json $speedtestcmd
$result=[PSCustomObject]@{
Download = [math]::round($speedtestresult.download.bandwidth/1MB, 5)*8
Upload = [math]::round($speedtestresult.upload.bandwidth/1MB, 5)*8
}
$result

получить данные проверки скорости Интернете speedtest в PowerShell

Команда speedtest возвращает JSON объект, который мы обрабатываем с помощью PowerShell . Из JSON данных мы извлекаем значения скорости download и upload и конвертируем их из бит в мегабиты.

Вы можете передать результаты тестировании скорости интернета в виде метрик в вашу систему мониторинга (как получить данные в Zabbix из PowerShell скрипта ).

В локальной сети можно протестировать пропускную способность сети между двумя машинами можно с помощью утилиты iperf .

EnglishRussianUkrainian