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

Содержание:

Anonim

Нагрузочное тестирование JMeter

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

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

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

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

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

JMeter Performance Testing включает:

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

На рисунке ниже показано, как JMeter load Testing имитирует большую нагрузку:

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

В этом руководстве мы проводим анализ производительности Google.com для 1000 пользователей.

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

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

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

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

  1. Запустить JMeter
  2. Выберите план тестирования в дереве
  3. Добавить группу тем

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

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

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

Количество потоков и количество циклов различаются.

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

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

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

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

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

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

  • HTTP-запрос

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

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

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

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

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

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

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

Щелкните правой кнопкой мыши Test Plan, Add -> Listener -> Graph Results.

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

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

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

Внизу изображения представлены следующие статистические данные, представленные цветами:

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

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

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

  • Пропускная способность
  • Отклонение

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

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

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

Давайте сравним производительность сервера 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 в Jmeter
  4. Дважды щелкните группу потоков -> Результат графика
  5. Запустить тест