Как использовать 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) Запустите тест и получите результат теста.

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

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

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

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

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

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

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

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

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

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

В этом тесте пропускная способность сервера Google составляет 1,491.193/мин. Это означает, что сервер Google может обрабатывать 1,491.193 XNUMX XNUMX запроса в минуту. Это значение довольно велико, поэтому мы можем сделать вывод, что сервер 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. Запустить тест