Siege — это регрессионный тест с открытым исходным кодом, нагрузочный тестер и эталонная утилита. Он может выполнять стресс-тестирование одного URL-адреса с заданным пользователем количеством симулированных пользователей или может считывать множество URL-адресов в память и одновременно подвергать их стресс-тестированию. Программа сообщает об общем количестве зарегистрированных попаданий, переданных байтах, времени отклика, параллелизме и статусе возврата. Siege поддерживает протоколы HTTP/1.0 и 1.1, директивы GET и POST, файлы cookie, ведение журнала транзакций и базовую аутентификацию. Его функции настраиваются для каждого пользователя.
Siege был написан как для веб-разработчиков, так и для администраторов веб-систем. Это позволяет этим людям тестировать свои программы и системы под принуждением. Как веб-профессионал, вы несете ответственность за целостность своего продукта, но не можете контролировать, кто получает к нему доступ. Всплески трафика могут произойти в любой момент. Как узнать, готовы ли вы? Когда программа атакует HTTP-сервер, говорят, что он «в осаде».
Большинство функций настраиваются с помощью параметров командной строки, которые также включают значения по умолчанию, чтобы свести к минимуму сложность вызова программы. Siege позволяет нагрузить веб-сервер с n пользователями t раз, где n и t определяются пользователем. Он записывает продолжительность теста, а также продолжительность каждой отдельной транзакции. Он сообщает о количестве транзакций, прошедшем времени, переданных байтах, времени ответа, скорости транзакций, параллелизме и количестве раз, когда сервер ответил OK, то есть код состояния 200.