Моделирование нагрузки на веб-сервера с помощью siege в Linux

Моделирование нагрузки на веб-сервера с помощью siege в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

,

Утилита siege — инструмент командной строки Linux для проведения бенчмаркинга и нагрузочного тестирования веб-серверов. Она позволяет моделировать нагрузку на хост путем создания определенного числа пользователей, которые отправляют запросы на узел в течение заданного временного интервала.

В это статье мы расскажем, как установить и использовать утилиту siege в ОС Linux.

Содержание:

  1. Установка утилиты siege в Linux
  2. Создание и изменение файла настроек siege
  3. Тестирование нагрузки на сайт с помощью siege
  4. Тестирование нагрузки на несколько сайтов
  5. Выводы

Установка утилиты siege в Linux

Чтобы инсталлировать siege, сперва скачайте последнюю версию архива с файлами утилиты:

 

wget

Затем распакуйте загруженный архив с помощью следующей команды:

 

unpack tar

Читайте также: Как извлечь Tar-файлы в каталог в Linux.

Перейдите в каталог, в который были распакованы файлы из архива, и скомпилируйте программу siege:

 

config package

Теперь Вы можете установить утилиту с помощью приведенной ниже команды:

 

make

Создание и изменение файла настроек siege

Чтобы сгенерировать файл настроек siege, выполните в терминале:

 

create siege config

Читайте также: 13 команд настройки и устранения неполадок сети в Linux.

На скриншоте выше видно, что путь к файлу настроек/root/.siege/siege.conf. Вы можете посмотреть значения параметров из этого файла, используя команду siege с опцией -C:

 

view siege conf settings

Для внесения изменений в настройки siege откройте файл /root/.siege/siege.conf в любом текстовом редакторе, например, в nano:

 

nano siege conf

Одними из ключевых параметров тестирования являются количество пользователей, отправляющих запросы на сайт (concurrent), и время, в течение которого эти запросы будут выполняться (time).

По умолчанию значение concurrent25. Оставим этот параметр без изменений.

concurrent

Параметр time по умолчанию закомментирован. Давайте его раскомментируем и укажем в качестве значения 1 минуту.

time

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

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

Чтобы протестировать производительность нужного сайта с помощью запросов, передайте доменное имя (или URL-адрес) сайта в качестве аргумента для siege. В этом случае инструмент будет использовать параметры нагрузки из файла настроек. Например:

 

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

siege google

Читайте также: Как контролировать производительность 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 запросов на сайт:

 

20 users 50 requests

Чтобы детальнее ознакомится с опциями команды siege, прочитайте man-страницу утилиты:

 

siege man

Тестирование нагрузки на несколько сайтов

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

url file

Читайте также: 5 советов по повышению производительности веб-сервера Apache.

Для проведения нагрузочного тестирования обозначенных интернет-ресурсов используйте команду siege с опцией -f, указав в качестве аргумента путь к файлу, содержащему доменные имена или URL-адреса. Например:

 

siege from file

Выводы

Утилита siege — полезный инструмент для моделирования нагрузок на сайты или веб-сервера. Помните, что ее следует использовать только в законных целях.

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

,

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

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню