Знание того, сколько трафика может обрабатывать ваш веб-сервер в условиях стресса, важно для планирования будущего роста вашего сайта или приложения.
Используя инструмент под названием siege, вы можете запустить нагрузочный тест на вашем сервере и посмотреть, как ваша система работает в различных условиях.
Вы можете использовать siege, чтобы оценить объем передаваемых данных, время отклика, скорость транзакции, пропускную способность, параллелизм и сколько раз сервер возвращал ответы.
У инструмента есть три режима, в которых он может работать —egression, internet 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 — это мощный инструмент для измерения надежности вашей системы в условиях высокой нагрузки.
Он может быть использован веб-разработчиками для проверки своего кода, когда сайт находится под тестированием.
Вы должны всегда выполнять свои тесты с осторожностью, поскольку тестируемый сервер может стать недоступным во время оценки.
0 Комментарии