Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

Siege — утилита для нагрузочного тестирования веб-серверов - [Пример]

$
0
0

Siege — утилита для нагрузочного тестирования веб-серверов

Это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы.

Установка

$ apt-get install siege

Пример

$ siege -b -c 100 -r 10 http://www.host.ru/
ransactions:                     415 hits
Availability:                 100.00 %
Elapsed time:                   8.34 secs
Data transferred:              15.67 MB
Response time:                  1.75 secs
Transaction rate:              49.76 trans/sec
Throughput:                     1.88 MB/sec
Concurrency:                   87.21
Successful transactions:         415
Failed transactions:               0
Longest transaction:            7.13
Shortest transaction:           0.62
  • Transactions – количество обращений к серверу. В примере это число высчитывается из 100 пользователей [ -c100 ] запустивших по 10 обращений [ -r10 ], что в общей сумме составляет 1000.
  • Elapsed time – общая продолжительность тестирования. Она высчитывается начиная с первого обращения к серверу и кончая получением ответа на последний запрос. В примере тест занял 8.34 секунд.
  • Data transferred – суммарное количество данных переданное всеми имитируемыми пользователями. Оно включает в себя как тела запросов, так и их заголовки.
  • Response time – среднее время за которое сервер успел ответить клиенту.
  • Transaction rate – среднее число обращений которые сервер успел обработать за секунду. Оно получается путём деления общего числа запросов на затраченное время.
  • Throughput – среднее число данных передаваемых ежесекундно от сервера к пользователям.
  • Concurrency – количество одновременных подключений при которых сервер отвечает без задержек.
  • Successful transactions – количество запросов на которые сервер ответил кодом меньше 400.

Параметры

-C, --config Показывает текущую конфигурацию. Siege считывает настройки и выводит их содержимое. Вы можете их менять редактируя файл $HOME/.siegerc. Если такого файла у Вас нет, следует запустить утилиту siege.config, которая его сгенерирует.
-v, --verbose Выводит отладочные сообщения.
-g, --get Совершает обращение к указанной ссылке. Получает заголовки с сервера и выводит их на экран. Отличный инструмент для точечного тестирования..
-c, --concurrent=NUM Количество имитируемых пользователей. по умолчанию установлено 10
-i, --internet Эта опция используется с конфигурационным файлом содержащим множество ссылок.
-b, --benchmark Отключает задержки между запросами.
-t, --time=NUMm Время, за которое должно пройти тестирование. Пример: -t3600S, -t60M, -t1H
-r, --reps=NUM Устанавливает количество повторений теста.
-f, --file=FILE Конфигурационный файл содержащий ссылки (SIEGE_HOME/etc/urls.txt).
-R, --rc=FILE RC, specify an siegerc file
-l, --log[=FILE] Эта опция указывает Siege что она должна записывать всю информацию в лог-файл SIEGE_HOME/var/siege.log.
-m, --mark="text" Эта опция позволяет указать выражение которым будут разделяться записи о разных тестированиях в лог-файле.
-d, --delay=NUM Эта опция указывает задержку между обращениями имитируемых пользователей к серверу. По умолчанию задержка происходит от 1 секунды до 3.
-H, --header="text" Устанавливает параметры header в запросе HTTP
-A, --user-agent="text" Формирует User-Agent для запроса

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

Начиная с версии 2.00 Siege поддерживает конфигурационные файлы в которых Вы можете хранить часто-используемые команды. Это может помочь при большом количестве тестирований с почти одними и теми же настройками. Данный файл называется .seigerc и располагается в домашней директории пользователя установившего Siege. Если этого файла там нет (например устанавливали программу не Вы) то можно воспользоваться утилитой siege.config для его создания. Внутри файла находятся различные директивы с комментариями к ним. Редактирование Вы можете проводить с использованием любого текстового редактора.

Формат передаваемых URL

Siege понимает следующий формат ссылок:

[протокол://] [сервер.домен.xxx] [: порт] [/диерктория/файл]

Поддерживаются адреса только с протоколами HTTP и HTTPS. Минимум что Вы должны указать – имя сервера. Если Вы находитесь внутри какого-то домена и тестируете сервер с именем shemp, и он прописан в Вашем файле хостов или на местном DNS, тогда команда “siege -u shemp” произведёт обращение к адресу shemp.домен.net/index.shtml. Если Вы хотите чтоб Siege работал с https-сервером то нужно указать дополнительно ещё и протокол. Таким образом команда “siege -u shemp” заставит программу обращаться по адресу shemp.yourdomain.net/index.shtml.

Файл с сылками

Перед тем как запустить регрессионный тест или режим имитации интернета Вам нужно передать программе список проверяемых адресов. Для этого поместите их в файл SIEGE_HOME/etc/urls.txt. В нём адреса должны располагаться по одному на строку:

host.com/script.php
host.com/script.php
host.com/cgi-bin/script.pl?first=bart&last=simpson
host.com/cgi-bin/script.pl POST name=homer
host.com/script.php POST word=doh!&scope=ALL

Log File

Когда Siege запускается с включенной опцией логирования [-l/--log], программа заносит всю выводимую информацию в PREFIX/var/siege.log, где PREFIX – установочная директория Siege ( смотрите файл INSTALL ). В лог-файл пишется всё что выводится программой на экран в стандартном режиме. Информация при записи разделяется запятыми для быстрого импорта в другие форматы. Для разделения результатов разных проверок имеется опция -m “текст”/–mark=”текст”. Она помещает указанное сообщение в лог-файл перед началом сканирования чтоб Вы смогли быстро найти его результат. Например, если Вы тестируете ссылки по протоколам http и https, Вы можете оставлять в логах пометки типа “start HTTPS testing”. Если Вы используйте опцию -m/–mark то параметр -l/–log использовать не обязательно.


Viewing all articles
Browse latest Browse all 1318

Trending Articles


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Best Crush Tagalog Quotes And Sayings 2017


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Sapos para colorear


tagalog love Quotes – Tiwala Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Patama Quotes : Tagalog Inspirational Quotes


Pamatay na Banat and Mga Patama Love Quotes


Tagalog Long Distance Relationship Love Quotes


BARKADA TAGALOG QUOTES


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.