Skip to content

for-what-or/server_acess_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестирование доступности серверов

Выполнил Калямов Ильфат


Эта консольная программа выполняет проверку доступности сайтов по HTTP протоколу, замеряет время выполнения запроса и выводит статистику по скорости ответа сервера.

Реализованная программа выполняет следующие требования:

  1. Принимает в качестве аргумента командной строки ключ –H/--hosts со значением хоста, на который будут выполняться запросы. Можно указать несколько адресов через запятую без пробелов;

  2. Есть возможность указать ключ –C/--count со значением количества запросов, которые будут отправлены на каждый хост для выведения среднего значения (по умолчанию 1);

  3. Осуществляется вывод итоговой статистики по выполненным запросам для каждого хоста отдельно. В выводе отображаются такие значения, как:

    • Host – имя тестируемого хоста;
    • Success – количество успешных запросов;
    • Failed – количество запросов, на которые сервер ответил ошибкой (400 или 500);
    • Errors – количество запросов, во время которых сервер был недоступен;
    • Min – минимальное время выполнения запроса;
    • Max – максимальное время выполнения запроса;
    • Avg – среднее время выполнения запроса.
  4. Есть возможность указать ключ –F/--file – путь до файла со списком адресов разбитый на строки. Одновременно может быть указан только один из ключей –F или -H

  5. Есть возможность указать ключ –O/--output – путь до файла куда нужно сохранить вывод. Если не указан, то вывод отправляется в консоль.


Установка и запуск

Для начала следует:

  1. Клонировать репозиторий:

    https://github.com/for-what-or/server_acess_test.git
    

    Или скачать архив:

    https://github.com/for-what-or/server_acess_test/archive/refs/heads/main.zip
    
  2. Создать и запустить виртуальное окружение:

    python -m venv venv
    
    venv/scripts/activate
    
  3. Установить зависимости:

    pip install -r requirements.txt
    

    Для обращений к серверам используется библиотека requests, которую и необходимо установить.

  4. Запустить программу со следующими аргуемнтами:

    -H или -F (Обязателен один из них)
    -H - Если в программу передаются хосты на проверку через запятую без пробелов.
    -F - Если в программу передается путь к файлу со списком хостов.
    
    -C - Если передается количество запросов к каждому хосту, по умолчанию 1.
    
    -O - Если передается путь к файлу вывода полученной статистике, если
    аргумент не передан вывод происходит в консоль.
    

    Примеры запуска:

    python bench.py -H https://example.com,https://ya.ru -C 10 -O result.txt
    
    python bench.py -F input.txt -C 20
    

    Работают как относительные пути .\result.tx, так и абсолютные X:\Projects\result.txt


Пример Работы программы

  • Команда:
    python bench.py -H https://example.com,https://ya.ru -C 10 -O result.txt
    
    Вывод в консоли:
    Результат успешно записан в файл: result.txt
    
    Содержимое файла result.txt:
    Host: https://example.com
    Success: 10
    Failed: 0
    Errors: 0
    Min: 0.366 s
    Max: 0.487 s
    Avg: 0.397 s
    --------------------------------------------------
    Host: https://ya.ru
    Success: 10
    Failed: 0
    Errors: 0
    Min: 0.680 s
    Max: 1.201 s
    Avg: 0.837 s
    --------------------------------------------------
    
  • Команда:
    python bench.py -F input.txt -C 20
    
    Содержимое файла input.txt:
    https://ya.ru
    https://google.com
    https://example.com
    https://career.infotecs.ru
    https://menyanetu.ru
    
    Вывод в консоль:
    Host: https://ya.ru
    Success: 20
    Failed: 0
    Errors: 0
    Min: 0.668 s
    Max: 1.998 s
    Avg: 0.897 s
    --------------------------------------------------
    Host: https://google.com
    Success: 20
    Failed: 0
    Errors: 0
    Min: 0.926 s
    Max: 1.397 s
    Avg: 1.056 s
    --------------------------------------------------
    Host: https://example.com
    Success: 20
    Failed: 0
    Errors: 0
    Min: 0.370 s
    Max: 0.811 s
    Avg: 0.478 s
    --------------------------------------------------
    Host: https://career.infotecs.ru
    Success: 0
    Failed: 20
    Errors: 0
    Min: 0.477 s
    Max: 0.674 s
    Avg: 0.529 s
    --------------------------------------------------
    Host: https://menyanetu.ru
    Success: 0
    Failed: 0
    Errors: 20
    Min/Max/Avg: нет успешных запросов
    --------------------------------------------------
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages