Metadata-Version: 2.3
Name: http-bench-service
Version: 0.2.3
Summary: HTTP benchmark service
Author: a.zaynagabdinov
Author-email: a.zaynagabdinov <The.scorpion2006@yandex.ru>
Requires-Dist: httpx>=0.28.1
Requires-Python: >=3.14
Description-Content-Type: text/markdown

# http-bench-service 🌐 (в процессе рефакторинга)
***
### Описание
Консольная программа для тестирования доступности серверов по HTTP протоколу. Программа асинхронно замеряет время выполнения запроса и выводит итоговую статистику по скорости ответа сервера.
***
### Аргументы командной строки
| Ключ                          | Описание                                                                                                               |
|-------------------------------|------------------------------------------------------------------------------------------------------------------------|
| `-H, --hosts`                 | Значение хоста, на который будут выполняться запросы. Можно указать несколько адресов через запятую без пробелов`      |
| `-F, --file`                  | Путь до файла со списком адресов разбитый на строки. Одновременно может быть указан только один из ключей -F или -H    |
| `-O, --output`                | Путь до файла куда нужно сохранить вывод. Если не указан, то вывод отправляется в консоль                              |
| `-C, --count`                 | Значение количества запросов, которые будут отправлены на каждый хост для выведения среднего значения (по умолчанию 1) |

### Настройки
| Ключ                          | Описание                                                                                           |
|-------------------------------|----------------------------------------------------------------------------------------------------|
| `--verbose`                   | Включает подробное логгирование (по умолчанию выключено)                                           |
| `--max-keepalive-connections` | Значение, максимальное количество открытых соединений в один момент времени (по умолчанию 20)      |
| `--timeout`                   | Значение в секундах, по истечении которого соединение будет завершено с ошибкой (по умолчанию 3.0) |
| `--version`                   | Показывает текущую версию программы                                                                |
***
### Шаблон команды
```
bench [-C COUNT] [-O OUTPUT_FILE] (-H HOSTS | -F INPUT_FILE)
```
***
### **Инструкция по установке и запуску**
#### Способ №1
1. Установите пакет через напрямую через pip:
```
pip install http-bench-service
```
3. Готово, программа готова к использованию ! Пример работы:
```
bench --hosts https://ya.ru,https://google.com -C 5
```
или
```
bench --file input.txt -O output.txt -C 3
```

#### Способ №2
1. Клонируйте репозиторий:
```
git clone https://github.com/Immflame/http-bench-service.git
```
2. Перейдите в новую директорию:
```
cd http-bench-service
```
3. Создайте виртуальное окружение и активируйте его (используйте uv):
```
uv sync
```
4. Готово, программа готова к использованию ! Пример работы:
```
uv run bench -H https://ya.ru,https://google.com -C 5
```
#### Пример вывода:
```
************************************************************
РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ
************************************************************

Host: https://ya.ru
  Success: 5
  Failed: 0
  Errors: 0
  Min: 359.00 ms
  Max: 500.00 ms
  Avg: 462.40 ms
----------------------------------------

Host: https://google.com
  Success: 5
  Failed: 0
  Errors: 0
  Min: 360.00 ms
  Max: 453.00 ms
  Avg: 393.60 ms
----------------------------------------
2026-08-21 00:00:33 - INFO - Общее время выполнения - 6.755251399998087 s
```



***
### Зависимости, требуемые для работы:
`httpx>=0.28.1`
`python>=3.14`
