Утилита 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.





































