Рейтинг:0

Облегченные инструменты Linux для мониторинга производительности по запросу во время нагрузочного тестирования?

флаг us

Мне поручили протестировать ProxySQL на паре тестовых серверов Tomcat, сравнив его производительность и использование ресурсов с текущим пулом соединений Apache DBCP. У меня есть примерный план нагрузочного тестирования, но у меня практически нет опыта мониторинга и сбора/сравнения показателей производительности на уровне системы (ЦП, память, диск, сеть и т. д.)

Мое нагрузочное тестирование будет включать в себя плейбук Ansible, который выполняет различные подготовительные задачи, запускает сценарии нагрузочного тестирования и, наконец, убирает за собой. Я хотел бы добавить «запускает и останавливает сбор показателей производительности до и после нагрузочного теста соответственно», но я не знаю, какие инструменты мне следует изучить.

Оптимальное решение, на мой взгляд, будет выглядеть примерно так:

  • Работает локально в фоновом режиме на ящиках Tomcat
  • Простая конфигурация
  • Сеансы мониторинга можно запускать и останавливать по требованию.
  • Высокое разрешение (метрики собираются раз в секунду или даже чаще, если это необходимо)
  • Результаты мониторинга легко считываются в каком-либо графическом инструменте для сравнения различных прогонов нагрузочных тестов.

Учитывая эти спецификации, какие варианты я рассматриваю, как для самой задачи мониторинга, так и для графического инструмента, с помощью которого можно их изучить?

JK Laiho avatar
флаг us
Дополнение: допустимо использование постоянно работающих демонов мониторинга, если есть возможность создавать, хранить, а затем просматривать и сравнивать какие-либо «сеансы» мониторинга, то есть все метрики, собранные демоном, скажем, за несколько 5 -минутные периоды нагрузочного тестирования.
Рейтинг:1
флаг cn
  1. Некоторую важную информацию можно получить из Операционная системаMXBean с использованием JConsole или эквивалент, вам не нужно ничего устанавливать
  2. Самый легкий инструмент будет сар
  3. Вы можете взглянуть на Сигар который имеет Java-API так что вы можете создать веб-приложение, которое будет собирать и отображать метрики по вашему выбору. Он также используется под капотом Плагин PerfMon за Apache JMeter инструмент для нагрузочного тестирования
  4. Если вы предпочитаете более или менее готовое решение, взгляните на Мониторикс
JK Laiho avatar
флаг us
`sar` и Monitorix в частности выглядят очень интригующе. Спасибо.
Рейтинг:0
флаг cn

Если у вас есть что-то, что может анализировать вывод, следующее работает нормально и ОЧЕНЬ легко:

голова -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file-nr /proc/sys/kernel/hostname; хвост -v -n 16 /proc/net/dev

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

Рейтинг:0
флаг cn

Я не знаю, отвечает ли это всем требованиям, но взгляните на JMeter.

JK Laiho avatar
флаг us
Я только что отредактировал, чтобы добавить пояснение, что я ищу инструменты для мониторинга показателей на уровне системы. Тем не менее, JMeter определенно выглядит как интересный инструмент для нагрузочного тестирования.

Ответить или комментировать

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