Skip to content

Вступление

Bombard - это инструмент для стресс-тестирования и оценки производительности вашего HTTP-сервера. Он особенно хорош для симуляции высокой нагрузки и начального всплеска одновременных HTTP-запросов со сложной логикой. С его помощью легко и быстро описывать логику формирования запросов.

Он разработан, чтобы быть простым, но мощным инструментом для нагрузочного функционального тестирования.

Благодаря возможности использовать фрагменты кода Python вы можете легко и быстро описать сложную логику для тестов.

Отчет о тестировании показывает, сколько запросов в секунду способен обслуживать ваш сервер и с какой задержкой.

Описание запросов

Минимально в запросе достаточно указать URL, но легко описать и JSON, например так:

- url: https://example.com/login
  method: POST
  body:
    username: !python str(supply('username'))
    password: !python str(supply('password'))
  save:
    token: response.json()['token']

В первом запросе вы можете получить токен, как в примере выше.

И использовать его в следующих запросах:

- url: https://example.com/api
  headers:
    Authorization: !python '"Bearer " + str(supply("token"))'

Встроенные примеры

Для просмотра списка встроенных примеров:

bombard --examples

Командная строка

Из командной строки вы можете изменить количество потоков, количество повторов, переопределить переменные, настроить вид отчета и так далее.

Также вы можете загрузить свой собственный файл bombard.yaml из любого понравившегося вам примера:

bombard --example http_get --reload

Отчет

Пример отчета для команды:

bombard --example http_get --repeat 1000

Исходный код

GitHub