Приложение для нагрузочного тестирования siege

Материал из Энциклопедия хостинга
Перейти к: навигация, поиск


Siege - это консольное мультипотоковое приложение для нагрузочного тестирования сайтов и серверов. Является мультиплатформенным и доступно под всеми современными ОС. Автор siege - Джеффри Фалмер.

Содержание

Установка

CentOS

Для установки на Centos потребуется добавить сторонний репозитарий epel

 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 yum update
 yum install siege

Debian/Ubuntu

apt-get update apt-get install siege

Параметры запуска

Формат запуска siege такой: siege <параметры> Программа может принимать следующие параметры:

'-V'

 Вывод на экран текущей версию.

'-h'

 Вывод справочной информации.

'-c'

 Показывает текущую конфигурацию. Вы можете их менять в файле ~/.siegerc.

'-v '

 Подробный вывод информации. Если этот ключ указан, то Siege будет выводить на экран детальную информацию о всех обращениях к серверу, а именно - тип HTTP-протокола, код ответа и адрес обращения. Пример:

HTTP/1.1 200 OK: /cgi-bin/whoohoo.cgi?first=Homer&last=simpson

 Эта опция особенно полезна в случае регрессионного тестирования или имитации Интернета, когда программа обращается в широкому кругу адресов.
 '-g URL'
 Совершает обращение к указанной ссылке. Получает заголовки с сервера и выводит их на экран. Отличный инструмент для точечного тестирования.
 '-c NUM '
 Количество имитируемых пользователей. Опция позволяет производить тестирование веб-сервера с количеством одновременных пользователей указанных в NUM. Фактически это число ограничивается лишь ресурсами компьютера, но на практике для хорошего результата требуется имитировать всего пару сотен пользовательских сессий. Помните, что при любой конфигурации вы всё равно не сымитируйте поведение настоящих людей. Хотя бы потому, что они задерживаются на каждой странице, читая информацию, а не перебирают ссылки одну за другой.
 '-i '
 Эта опция используется с конфигурационным файлом, содержащим множество ссылок. При её включении Siege случайно выбирает адреса обращений и производит к ним запросы. В реальности вы не можете сказать пользователям, на какие страницы и в какой последовательности они должны заходить. Они будут делать это всегда по-разному. Режим имитации Интернета пытается эмулировать такое поведение. Обратите внимание на то, что в процессе тестирования к некоторым адресам из файла может не произойти обращений вообще, ведь они выбираются случайно.
 '-t NUMm '
 Время, за которое должно пройти тестирование. Указывается в формате «NUMm», где NUM - это количество единиц времени, а «m» - это модификатор S, M, или H для секунд, минут и часов соответственно. Например, для того чтоб запустить тестирование на час вы можете воспользоваться следующими комбинациями: -t3600S, -t60M, -t1H. Модификатор не чувствителен к регистру, но между ним и числом не должно быть пробелов.
 '-f FILE '
 Конфигурационный файл содержащий ссылки (SIEGE_HOME/etc/urls.txt). Вы можете использовать эту опцию для того, чтобы указывать другой путь к нему. Например:

siege –file=serverb.txt

 '-l’
 Эта опция указывает Siege, что она должна записывать всю информацию в лог-файл SIEGE_HOME/var/siege.log. При каждом новом тестировании файл будет дописан.
 '-m MESSAGE '
 Эта опция позволяет указать выражение, которым будут разделяться записи о разных тестированиях в лог-файле. Вместе с ней не обязательно использовать опцию -l, т.к. она будет включена автоматически. Если выражение в MESSAGE содержит пробелы, не забудьте поместить его в кавычки.
 '-d NUM '
 Эта опция указывает задержку между обращениями имитируемых пользователей к серверу. Время задержки вычисляется от единицы до введённого числа. При проведении тестирования на ресурсоёмких участках приложения желательно   ставить задержку равную секунде ( -d1 ). По умолчанию задержка происходит от 1 секунды до 3. Эта опция позволяет как бы накрывать сервер волнами запросов.             

Конфигурационный файл

В случае регулярного использования с практически одинаковыми параметрами, можно использовать конфигурационный файл. Создается он комадой «siege.config» и располагается в корневой директории пользователя «~/.siegerc» Сам конфигурационный файл хорошо прокомментирован.

Примеры запуска

siege -c10 -t60S -b http://domen.ru

Имитирует подключение 10 пользователей к сайту в течение одной минуты. Запросы будут идти даже в случае отсутствия ответов с сервера.

Статистика тестирования

Из всего вывода статистики следует обратить внимание эти пункты:

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

Ссылки

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты

Заметили ошибку?

Выделите ее и нажмите CTRL+ENTER