Siege (программное обеспечение)

Siege — утилита для нагрузочного тестирования и бенчмаркинга веб-серверов по протоколам HTTP и HTTPS, разработанная Джеффри Фулмером. Она предназначена для веб-разработчиков, чтобы измерять производительность собственного кода под нагрузкой и оценивать устойчивость сервисов в реальных условиях работы в интернете.

Siege распространяется по открытой лицензии GNU GPL, что позволяет свободно использовать, изменять и распространять программу[2].

Что важно знать
Siege
Тип инструмент нагрузочного тестирования
Разработчики Jeffrey Fulmer и др.
Языки интерфейса английский
Последняя версия 3.0.9
Репозиторий github.com/JoeDog/siege/
Лицензия GPLv3[1] или более поздняя
Сайт joedog.org/siege-home

Возможности

Siege может подвергать нагрузке как один отдельный URL, так и множество адресов, прочитанных из файла, одновременно. Поддерживаются базовая аутентификация, cookie, протоколы HTTP, HTTPS и FTP[3].

Оценка производительности

В число измеряемых показателей входят затраченное время, объём переданных данных (включая заголовки), время отклика сервера, частота транзакций, пропускная способность, средний уровень параллелизма и количество удачных ответов (код 200). Все эти метрики отображаются в итоговом отчёте после теста[4]

Пример вывода Siege:

Ben: $ siege -u shemp.whoohoo.com/Admin.jsp -d1 -r10 -c25
..Siege 2.65 2006/05/11 23:42:16
..Preparing 25 concurrent users for battle.
The server is now under siege...done
Transactions: 250 hits
Elapsed time: 14.67 secs
Data transferred: 448,000 bytes
Response time: 0.43 secs
Transaction rate: 17.04 trans/sec
Throughput: 30538.51 bytes/sec
Concurrency: 7.38
Status code 200: 250
Successful transactions: 250
Failed transactions: 0

Siege поддерживает три основных режима работы: регрессионный, имитация интернет-трафика и «brute force». В первом случае адреса проходят последовательно (regression), во втором — в случайном порядке (internet simulation); возможна и нагрузка одного URL с заданными параметрами через командную строку (brute force).[4].

Платформы и совместимость

Siege был изначально написан для Linux, но также успешно портирован на AIX, BSD, HP-UX и Solaris. Программа компилируется для большинства версий UNIX System V и новых BSD-систем[4].

Примечания