Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

speedtest.py

Минималистичный CLI-инструмент для замера скорости интернета. Отправляет N последовательных HTTP-запросов на указанный URL и выводит среднее время запроса и скорость в МБ/с.

Как это работает

  1. Отправляет N последовательных GET-запросов на указанный URL (по умолчанию: 10).
  2. Для каждого запроса фиксирует время ответа и размер.
  3. Выводит результат каждого запроса, затем итоговую сводку:
    • суммарный объём скачанных данных
    • среднее время запроса
    • средняя скорость в МБ/с

Установка

git clone https://github.com/<you>/speedtest.git
cd speedtest
pip install -r requirements.txt

Использование

python speedtest.py --url <URL> [--requests N]
Аргумент Сокращение По умолчанию Описание
--url -u обязательный URL файла для скачивания
--requests -n 10 Количество последовательных запросов

Примеры

# 10 запросов к тестовому эндпоинту Selectel (100 МБ)
python speedtest.py --url https://speedtest.selectel.ru/100MB

# Своё количество запросов
python speedtest.py --url https://speedtest.selectel.ru/100MB --requests 5

Пример вывода

Тест скорости: https://speedtest.selectel.ru/100MB
Запросов      : 10

  [ 1/10] 1.774с  100.00 МБ  56.35 МБ/с
  [ 2/10] 1.503с  100.00 МБ  66.56 МБ/с
  ...
  [ 9/10] 1.624с  100.00 МБ  61.58 МБ/с
  [10/10] 1.538с  100.00 МБ  65.01 МБ/с

====================================================
 РЕЗУЛЬТАТЫ
====================================================
  URL                  : https://speedtest.selectel.ru/100MB
  Запросы              : 10/10 успешных
  Скачано данных       : 1000.00 МБ
  Среднее время запроса: 1.591 с
  Средняя скорость     : 62.85 МБ/с
====================================================

Заметки

  • Запросы выполняются последовательно, не параллельно — так измеряется пропускная способность одного соединения.
  • Используется единая requests.Session для переиспользования TCP-соединения между запросами.
  • Результаты отражают реальную скорость с учётом DNS, TLS-хендшейка и времени ответа сервера.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages