Про тестирование нагрузки с помощью 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

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