README.md

Stress-Tester

Программа для нагрузочного тестирования web-ресурсов

Содержание

Технологии

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

Программа принимает следующие параметры:

  • -C, --config - [обязательный] конфигурационный файл для тестов в формате YAML
  • -S, --server - запуск в режиме сервера (по умолчанию: false) (по умолчанию: false)
  • -P, --port - порт для сервера (по умолчанию: случайное значение из интервала) (интервал: [10000;65535])
  • --proxy - прокси адрес (например, socks5://localhost:9050, username:password@localhost:9050)
  • --help - показать это сообщение

Пример конфигурации

version: 3

settings:
  rps: 500 # запросов в секунду
  duration: 10 # продолжительность теста в секундах
  shuffle: true # перемешивать список URL
  follow_redirects: false # возвращать код редиректа или делать редирект(ы) и возвращать код ответа
  timeout: 0 # ограничение времени ожидания ответа (работает только, если follow_redirects = false)

resources:
  host: https://domain.tld # хост для запроса
  urls: # список URL относительно вышеуказанного хоста
    - path1
    - path2?query=value

remote_hosts: # IP адрес и порт, который слушает приложение, запущенное в режиме сервера
  - 127.0.0.1:12345
  
links_masks: # список регулярных выражений для URL, который нужно вызывать из ответа 
  - https://domain.tld/[A-Z]+
  - https://domain.tld/[0-9]+###50 # можно добавить вероятность вызова ссылки после разделителя "###"
  # если указать 0, то ссылка вызываться не будет
  # все значения не из диапазона [0;100] будут игнорироваться
  # при отсутствия значения, будет использоваться вероятность 100

Требования

Для установки и запуска проекта, необходим Go v1.25.0+.

Установка зависимостей

Для установки зависимостей, выполните команду:

$ go mod tidy

Создание билда

Чтобы выполнить production сборку, выполните команду:

$ make build
Описание
Проект для нагрузочного тестирования
Конвейеры
0 успешных
0 с ошибкой
Разработчики