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

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

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

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

Вы можете использовать siege, чтобы оценить объем передаваемых данных, время отклика, скорость транзакции, пропускную способность, параллелизм и сколько раз сервер возвращал ответы.

У инструмента есть три режима, в которых он может работать —egressioninternet simulation и brute force.

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

Установка Siege HTTP Load Testing Utility в Linux

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

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

$ sudo apt install siege

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

# yum install epel-release
# yum install siege

Кроме того, вы можете собрать siege из исходника.

Для этого вам понадобятся установленные пакеты для сборки и разработки.

$ 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

После завершения установки вы можете настроить файл конфигурации осады.

Он находится в /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

Если доступность остается на уровне 100%, и нет ошибок подключения, значит, ваша система работала хорошо, и проблем не было.

Вы также должны следить за временем отклика.

Запустить Siege на несколько веб-сайтов

Вы можете проверить несколько URL-адресов, вы можете описать URL в /usr/local/etc/urls.txt следующим образом:

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

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

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

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

Заключение

Siege — это мощный инструмент для измерения надежности вашей системы в условиях высокой нагрузки.

Он может быть использован веб-разработчиками для проверки своего кода, когда сайт находится под тестированием.

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

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

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

5e7fa976b0640d40