Как использовать JMeter для тестирования производительности и нагрузки

⚡ Умное резюме

JMeter Тестирование производительности измеряет поведение веб-приложения при высокой одновременной нагрузке, сочетая нагрузочное и стресс-тестирование для выявления максимальной пропускной способности, времени отклика и узких мест до того, как реальные пользователи перегрузят сервер.

  • 🧩 План тестирования: Группа потоков, сэмплеры и слушатели определяют тест.
  • 👥 Группа тем: Задает количество пользователей, период наращивания нагрузки и количество циклов.
  • 📊 Слушатели: Графики и таблицы позволяют визуализировать данные о производительности.
  • 🔥 Нагрузка против напряжения: Модели нагрузки учитывают ожидаемый трафик; анализ напряжений позволяет определить точку разрушения.
  • 🤖 Помощь ИИ: Модели ИИ загружают профили и выявляют регрессии в производительности.

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

JMeter испытание нагрузкой

JMeter испытание нагрузкой это процесс тестирования, выполняемый с использованием инструмента нагрузочного тестирования под названием Apache JMeter настольное приложение с открытым исходным кодом, основанное на Java. JMeter для нагрузочного тестирования — это важнейший инструмент, который определяет, может ли тестируемое веб-приложение удовлетворить требования высокой нагрузки или нет. Это также помогает проанализировать общий сервер при большой нагрузке.

JMeter Тестирование производительности

JMeter Тестирование производительности is Тестирование метод, выполняемый с использованием Apache JMeter для проверки производительности веб-приложения. JMeter для тестирования производительности помогает тестировать как статические, так и динамические ресурсы, помогает обнаруживать одновременно работающих пользователей на веб-сайте и обеспечивает разнообразный графический анализ для тестирования производительности. JMeter Тестирование производительности включает нагрузочное тестирование и стресс-тест веб-приложения.

JMeter Тестирование производительности

Apache JMeter инструмент тестирования предлагает следующее польза in Тестирование производительности

  • JMeter может использоваться для проверки производительности обоих статический ресурсы, такие как JavaСценарий и HTML, а также динамический ресурсы, такие как JSP, сервлеты и AJAX.
  • JMeter обнаружить максимальное количество одновременных пользователей, которое может обслужить ваш сайт
  • JMeter обеспечивает различные графические анализы отчетов о производительности.

JMeter Тестирование производительности включает в себя:

JMeter Тестирование производительности

  • нагрузка Тестирование: моделирование ожидаемого использования путем моделирования доступа нескольких пользователей к Веб-службы одновременно.
  • Стресс Тестирование: Каждый веб-сервер имеет максимальную нагрузочную способность. Когда нагрузка выходит за пределы лимита, веб-сервер начинает медленно отвечать и выдавать ошибки. Цель Стресс-тестирование состоит в том, чтобы найти максимальную нагрузку, которую может выдержать веб-сервер.

На рисунке ниже показано, как JMeter Нагрузочное тестирование имитирует тяжелую нагрузку:

JMeter Тестирование производительности

Создайте план тестирования производительности в JMeter

В этом уроке мы проведем анализ производительности Google.com для 1000 пользователей, использующих различные инструменты тестирования производительности чтобы веб-сайт мог справиться с нагрузкой и обеспечить удобство работы с пользователем.

Прежде чем тестировать производительность целевого веб-приложения, мы должны определить:

  • Нормальная нагрузка: Среднее количество пользователей, посещающих ваш сайт.
  • Тяжелый груз: Максимальное количество пользователей, посещающих ваш сайт.
  • Какова ваша цель в этом тесте?

Вот Дорожная карта этого практического примера

Создайте план тестирования производительности в JMeter

Шаг 1) Добавьте группу потоков

  1. Начать JMeter
  2. Выбрать План тестирования на дереве
  3. Добавить Группа потоков

Щелкните правой кнопкой мыши «План тестирования» и добавьте новую группу потоков: Добавить -> Темы (Пользователи) -> Группа потоков

Добавить группу тем

На панели управления группой потоков введите «Свойства потока» следующим образом:

Добавить группу тем

  • Количество потоков: 100 (Количество пользователей, подключающихся к целевому веб-сайту: 100)
  • Количество петель: 10 (Количество времени выполнения тестирования)
  • Ramp-Период подъема: 100

Количество потоков и количество циклов другой.

Добавить группу тем

Ramp-Up Period говорит JMeter как долго задерживать перед запуском следующего пользователя. Например, если у нас 100 пользователей и 100-секундный Ramp- Период Up, тогда задержка между запуском пользователей составит 1 секунду (100 секунд/100 пользователей).

Добавить группу тем

Шаг 2) Добавление JMeter элементы

Теперь мы определим, что JMeter элементы в этом тесте. Элементы

  • HTTP-запрос по умолчанию

Этот элемент можно добавить, щелкнув правой кнопкой мыши группу тем и выбрав: Добавить -> Элемент конфигурации -> Параметры HTTP-запроса по умолчанию.

Добавление JMeter Elements

На панели управления «Параметры HTTP-запроса по умолчанию» введите имя тестируемого веб-сайта (http://www.google.com)

Добавление JMeter Elements

  • HTTP-запрос

Щелкните правой кнопкой мыши группу тем и выберите: Добавить -> Пробоотборник -> HTTP-запрос.

HTTP-запрос

В панели управления HTTP-запросами поле «Путь» указывает, какой именно URL запросить вы хотите отправить на Google сервера.

HTTP-запрос

Например, если вы введете «календарь» в поле «Путь». JMeter создаст URL запросить http://www.google.com/calendar в Google сервер

HTTP-запрос

Если вы сохраните поле «Путь» пустой JMeter создаст URL запросить http://www.google.com в Google сервера.

В этом тесте вы оставляете поле Путь пустым, чтобы сделать JMeter создать URL запросить http://www.google.com в Google сервера.

Шаг 3) Добавление результата графика

JMeter может показать результат теста в формате графика.

Щелкните правой кнопкой мыши План тестирования, Добавить -> слушатель -> Результаты графика

Добавление результата графика

Шаг 4) Запустите тест и получите результат теста.

Штамповочный пресс бег кнопку (Ctrl + R) на Панели инструментов, чтобы начать процесс тестирования программного обеспечения. Вы увидите результат теста на графике в режиме реального времени.

На рисунке ниже представлен график плана тестирования, в котором мы смоделировали 100 пользователей, которые зашли на сайт. www.google.com.

Запустите тест и получите результат теста

В нижней части рисунка в цвете представлена ​​следующая статистика:

  • Черный: общее количество отправленных текущих образцов.
  • Blue: Текущее среднее значение всех отправленных образцов.
  • Red: Текущее стандартное отклонение.
  • Зелёная: пропускная способность, которая представляет собой количество запросов в минуту, обрабатываемых сервером.

Давайте проанализируем производительность Google сервер на рисунке ниже.

Запустите тест и получите результат теста

Для анализа производительности тестируемого веб-сервера следует ориентироваться на 2 параметра

  • Увеличить пропускную способность
  • Отклонение

Увеличить пропускную способность является наиболее важным параметром. Он отражает способность сервера справляться с большой нагрузкой. высший Пропускная способность better это производительность сервера.

В этом тесте пропускная способность Google Сервер платит 1,491.193/минуту. Это значит... Google Сервер способен обрабатывать 1 491,193 запроса в минуту. Это довольно высокое значение, поэтому можно сделать вывод, что Google Сервер демонстрирует хорошую производительность.

отклонение отображается красным цветом – это указывает на отклонение от среднего значения. меньше better.

Давайте сравним производительность Google Это результаты тестирования производительности веб-сайта. http://www.yahoo.com/ (Вы можете выбрать другие сайты)

Запустите тест и получите результат теста

Пропускная способность тестируемого веб-сайта http://www.yahoo.com Это составляет 867.326 запросов в минуту. Это означает, что этот сервер обрабатывает 867.326 запросов в минуту, что ниже, чем... Google.

Отклонение составляет 2689, что значительно выше, чем Google (577). Таким образом, мы можем определить, что производительность этого веб-сайта ниже, чем Google сервера.

ПРИМЕЧАНИЕ: Указанные выше значения зависят от нескольких факторов, таких как текущая загрузка сервера. GoogleСкорость вашего интернета, мощность вашего процессора и т. д. Поэтому крайне маловероятно, что вы получите те же результаты, что и выше. Так что не паникуйте! Если вас интересует, как нагрузка на сервер влияет на производительность и как это проверить, вам может пригодиться эта информация. руководство по нагрузочному тестированию полезно.

Диагностика неисправностей

Если вы столкнулись с проблемой при выполнении описанного выше сценария… выполните следующие действия:

  1. Проверьте, подключаетесь ли вы к Интернету через прокси. Если да, удалите прокси.
  2. Откройте новый экземпляр Jmeter
  3. Откройте приложение PerformanceTestPlan.jmx в Джметре
  4. Double Нажмите «Группа тем» -> «Результат графика».
  5. Запустить тест

Часто задаваемые вопросы (FAQ)

Пропускная способность — это количество запросов. JMeter количество выполненных операций в секунду; более высокая пропускная способность означает, что сервер обрабатывает большую нагрузку.

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

JMeter является бесплатным, с открытым исходным кодом и JavaLoadRunner основан на протоколе .com, в то время как LoadRunner — это коммерческая программа с более широкой поддержкой протоколов и расширенными возможностями анализа.

Да. Искусственный интеллект читает JMeter Создает графики результатов, выявляет аномалии и узкие места, а также связывает медленную реакцию с уровнями нагрузки.

Искусственный интеллект генерирует реалистичные модели рабочих нагрузок, автоматически настраивает параметры потоков и наращивания нагрузки, а также прогнозирует производительность на основе исторических данных.

Подведем итог этой публикации следующим образом: