Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>utils server ab test}} ====== Siege — утилита для нагрузочного тестирования веб-серверов ====== Это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы. ===== Установка ===== <code> $ apt-get install siege </code> ===== Параметры ===== ^ ^ ^ |-V, --version |VERSION, prints the version number.| |-h, --help |HELP, prints this section.| |-C, --config |Показывает текущую конфигурацию. Siege считывает настройки и выводит их содержимое. Вы можете их менять редактируя файл $HOME/.siegerc. Если такого файла у Вас нет, следует запустить утилиту siege.config, которая его сгенерирует.| |-v, --verbose |VERBOSE, prints notification to screen. |-g, --get |Совершает обращение к указанной ссылке. Получает заголовки с сервера и выводит их на экран. Отличный инструмент для точечного тестирования..| |-c, --concurrent=NUM |Количество имитируемых пользователей. по умолчанию установлено 10| |-i, --internet |Эта опция используется с конфигурационным файлом содержащим множество ссылок.| |-b, --benchmark |BENCHMARK: no delays between requests.| |-t, --time=NUMm |Время, за которое должно пройти тестирование. Пример: -t3600S, -t60M, -t1H| |-r, --reps=NUM |REPS, number of times to run the test.| |-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" |Add a header to request (can be many)| |-A, --user-agent="text" |Sets User-Agent in request| ===== Конфигурационный файл ===== Начиная с версии 2.00 Siege поддерживает конфигурационные файлы в которых Вы можете хранить часто-используемые команды. Это может помочь при большом количестве тестирований с почти одними и теми же настройками. Данный файл называется .seigerc и располагается в домашней директории пользователя установившего Siege. Если этого файла там нет (например устанавливали программу не Вы) то можно воспользоваться утилитой siege.config для его создания. Внутри файла находятся различные директивы с комментариями к ним. Редактирование Вы можете проводить с использованием любого текстового редактора. ==== Формат передаваемых URL ==== Siege понимает следующий формат ссылок: <code>[протокол://] [сервер.домен.xxx] [: порт] [/диерктория/файл]</code> Поддерживаются адреса только с протоколами 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. В нём адреса должны располагаться по одному на строку: СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal