Нагрузочное тестирование веб-серверов с помощью Siege Benchmarking Tool

LinuxУтилиты Linux

Знание того, сколько трафика может выдержать ваш веб-сервер при критических нагрузках, важно для планирования будущего масштабирования вашего сайта или приложения. Используя инструмент под названием Siege Benchmarking Tool, вы можете запустить нагрузочный тест на вашем сервере и посмотреть, как ваша система работает в различных условиях.

Вы можете использовать siege, чтобы оценить объем передаваемых данных, время отклика, скорость транзакции, пропускную способность, сколько раз сервер возвращал ответы/терял пакеты. У инструмента siege есть три режима, в которых он может работать — regression, internet simulation и brute force.

 

Важно: Siege следует запускать только на тех серверах, которыми вы владеете или на которых у вас есть явное разрешение на тестирование. В некоторых странах использование siege на несанкционированных сайтах может считаться преступлением и уголовно наказуемо.

 

Установка утилиты Siege HTTP Load Testing в Linux

Siege мультиплатформенная утилита, она может быть установлен в дистрибутивах Ubuntu/Debian и CentOS/RHEL с помощью следующих команд.

Чтобы установить Siege в Debin/Ubuntu, вы можете запустить:

$ sudo apt install siege

 

 

Для CentOS/RHEL вам необходимо установить и включить репозиторий для установки siege с помощью:

# yum install epel-release
# yum install siege

 

 

Кроме того, вы можете собрать siege из исходных кодов. Для этого вам необходимо установить пакеты build-essential и development:

$ sudo apt install build-essential #Ubuntu/Debian
# yum groupinstall 'Development Tools' #CentOS/RHEL

 

 

Затем вы можете скачать Siege с помощью команды wget и установить её из исходников, как показано ниже:

$ wget http://download.joedog.org/siege/siege-latest.tar.gz
$ tar -zxvf siege-latest.tar.gz
$ cd siege-*/
$ sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
$ sudo make && make install

 

 

Настройка Siege HTTP Load Testing Utility в Linux

После завершения установки вы можете настроить файл конфигурации siege. Он находится в /etc/siege/siegerc. Если вы решили собрать пакет из исходного кода, вам необходимо выполнить следущее:

$ sudo siege.config

 

 

Это с генерирует файл siege.conf, расположенный в домашней папке вашего пользователя ~/.siege/siege.conf.

 

Содержимое файла должно выглядеть примерно так. Обратите внимание, что мы раскомментировали директивы logfile и time:

# cat siegerc |egrep -v "^$|#"

 

Пример вывода
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

 

 

В текущей конфигурации siege будет имитировать 25 одновременно работающих пользователей в течение 1 минуты.

Теперь вы готовы к работе с siege.

 

 

Тестирование загрузки сайта с помощью Siege Benchmarking Utility

Работать с siege довольно просто, вам нужно только указать веб-сайт, который вы хотите проверить, следующим образом:

# siege example.com

 

 

Web-Server-Load-Testing-with-Siege

 

 

Если доступность поле «availability» было на уровне 100% и у вас нет неудачных соединений, значит, ваша система работала хорошо и проблем не возникло. Также рекомендуем вам следить за временем отклика.

 

 

Запуск siege для нескольких веб-сайтов

Вы можете проверить несколько URL-адресов, используя siege. Для этого вам необходимо прочитать эти URL прямо из файла. Вы можете указать URL в /usr/local/etc/urls.txt следующим образом:

 

Multiple-Web-server-Load-Testing

 

Теперь, чтобы указать siege проверить URL-адреса из файла, используйте параметр -f, например:

# siege -f /usr/local/etc/urls.txt

 

Вы также можете использовать различные параметры командной строки, если хотите попробовать настройки, отличные от описанных в файле конфигурации:

  • -C — указать свой собственный файл конфигурации.
  • -q — подавляет вывод siege.
  • -g — получить, снять заголовки HTTP и отобразить транзакцию. Полезно для отладки.
  • -c — количество одновременных пользователей, по умолчанию 10.
  • -r — сколько раз выполнить тест.
  • -t — сколько времени будет выполняться тест. Вы можете указать S, M или H. Пример: –time=10S на 10 секунд.
  • -d — случайная задержка перед каждым запросом.
  • -b — нет задержек между запросами.
  • -i — пользовательская симуляция. Используется для проверки случайных URL.
  • -f — проверить URL из указанного файла.
  • -l — файл журнала.
  • -H — добавить заголовок к запросу.
  • — указать пользовательского агента.
  • -T — устанавливает Content-Type в запросе.
  • —no-parserNO PARSER, отключить анализатор HTML-страницы.
  • —no-follow — не переходить по HTTP-перенаправлениям.

 

 

Итоги

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

 

 

Cпасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LinuxУтилиты Linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню