Про тестирование нагрузки с помощью Siege

В сети нашел интересную утилиту для нагрузочного тестирования веб-сервера, которая называется Siege. Одной из особенностей Siege является возможность имитировать обращения к сайту сразу нескольких пользователей.

Для того, что установить данный пакет, необходимо ввести следующую команду:

apt-get install siege

Siege имеет три основных модели работы:

1. Режим регрессионного тестирования - считывается порция ссылок из конфигурационного файла и к ним по очереди происходит обращение.
2. Режим имитации Интернета - тоже, что и в первом пункте, однако обращение происходит случайным образом.
3. Режим грубой силы - указывается один адрес, к которому производятся все обращения.

Для того, чтобы смоделировать третий пункт, достаточно в консоли написать следующее:

siege -c NUM1 -r NUM2 -b site.ru

где параметры - это:

-c NUM1 - задает количество имитируемых пользователей
-r NUM2 - задает количество имитируемых обращений

К примеру, 10 пользователей, обратившись по 20 раз, создают 200 запросов.

После того, как Siege произведет имитацию запросов, на экран консоли выведится стастика, которая включает в себя:

Transactions - количество обращений к серверу.
Elapsed time - общая продолжительность тестирования, которая высчитывается начиная с первого обращения к серверу и кончая получением ответа на последний запрос.
Data transferred - суммарное количество данных, переданных всеми имитируемыми пользователями.
Response time - среднее время, за которое сервер успел ответить клиенту.
Transaction rate - среднее число обращений, которые сервер успел обработать за секунду. Формируется путём деления общего числа запросов на затраченное время.
Throughput - среднее число данных, передаваемых ежесекундно от сервера к клиентам.
Concurrency - количество одновременных подключений, при которых сервер отвечает без задержек.
Successful transactions - количество запросов, на которые сервер ответил кодом, меньше 400.

Статистика, выводимая Siege

Материалы по теме: ссылка.