Утилита siege
— инструмент командной строки Linux для проведения бенчмаркинга и нагрузочного тестирования веб-серверов. Она позволяет моделировать нагрузку на хост путем создания определенного числа пользователей, которые отправляют запросы на узел в течение заданного временного интервала.
В это статье мы расскажем, как установить и использовать утилиту siege
в ОС Linux.
Содержание:
- Установка утилиты siege в Linux
- Создание и изменение файла настроек siege
- Тестирование нагрузки на сайт с помощью siege
- Тестирование нагрузки на несколько сайтов
- Выводы
Установка утилиты siege в Linux
Чтобы инсталлировать siege
, сперва скачайте последнюю версию архива с файлами утилиты:
Затем распакуйте загруженный архив с помощью следующей команды:
Читайте также: Как извлечь Tar-файлы в каталог в Linux.
Перейдите в каталог, в который были распакованы файлы из архива, и скомпилируйте программу siege
:
Теперь Вы можете установить утилиту с помощью приведенной ниже команды:
Создание и изменение файла настроек siege
Чтобы сгенерировать файл настроек siege
, выполните в терминале:
Читайте также: 13 команд настройки и устранения неполадок сети в Linux.
На скриншоте выше видно, что путь к файлу настроек — /root/.siege/siege.conf
. Вы можете посмотреть значения параметров из этого файла, используя команду siege
с опцией -C
:
Для внесения изменений в настройки siege
откройте файл /root/.siege/siege.conf
в любом текстовом редакторе, например, в nano:
Одними из ключевых параметров тестирования являются количество пользователей, отправляющих запросы на сайт (concurrent
), и время, в течение которого эти запросы будут выполняться (time
).
По умолчанию значение concurrent
— 25. Оставим этот параметр без изменений.
Параметр time
по умолчанию закомментирован. Давайте его раскомментируем и укажем в качестве значения 1 минуту.
То есть, 25 пользователей на протяжении 1 минуты будут отправлять запросы на указанный сайт. В конце сохраните файл и закройте его.
Тестирование нагрузки на сайт с помощью siege
Чтобы протестировать производительность нужного сайта с помощью запросов, передайте доменное имя (или URL-адрес) сайта в качестве аргумента для siege
. В этом случае инструмент будет использовать параметры нагрузки из файла настроек. Например:
Важно: мы рекомендуем применять эту утилиту только для собственных сайтов или серверов. Отправка большого количества запросов на сторонние интернет-ресурсы может расцениваться как кибератака.
Читайте также: Как контролировать производительность Apache с помощью mod_status в Ubuntu.
Давайте разберем вывод команды:
Transactions
— количество выполненных запросов;Availability
— процент успешных запросов от их общего числа;Elapsed time
— общая продолжительность теста;Data transferred
— объем переданных данных, измеренный в мегабайтах;Response time
— среднее время ответа на запрос;Transaction rate
— количество выполненных запросов в секунду;Throughput
— скорость передачи данных, измеренная в мегабайтах в секунду;Concurrency
— среднее количество одновременных соединений или пользователей;Successful transactions
— количество успешно выполненных запросов;Failed transactions
— количество неудачных запросов;Longest transaction
— самое длительное время выполнения одного запроса;Shortest transaction
— самое короткое время выполнения одного запроса.
Вы можете задать параметры тестирования с помощью опций команды siege
. Например, чтобы создать нагрузку на сайт с одновременным подключением 50 пользователей в течение 5 минут, используйте опции -c
и -t
соответственно:
Также смоделируем ситуацию, когда 20 пользователей отправят по 50 запросов на сайт:
Чтобы детальнее ознакомится с опциями команды siege
, прочитайте man
-страницу утилиты:
Тестирование нагрузки на несколько сайтов
При помощи утилиты siege
, Вы можете тестировать производительность сразу нескольких сайтов. Для этого сперва нужно записать доменные имена (или URL-адреса) в текстовый файл. Утилита siege
по умолчанию предоставляет для этого следующий файл — /usr/local/etc/urls.txt
. В качестве примера запишем в него два сайта.
Читайте также: 5 советов по повышению производительности веб-сервера Apache.
Для проведения нагрузочного тестирования обозначенных интернет-ресурсов используйте команду siege
с опцией -f
, указав в качестве аргумента путь к файлу, содержащему доменные имена или URL-адреса. Например:
Выводы
Утилита siege
— полезный инструмент для моделирования нагрузок на сайты или веб-сервера. Помните, что ее следует использовать только в законных целях.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.