Нагрузочное тестирование 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) Добавьте группу тем
- Запустить JMeter
- Выберите план тестирования в дереве
- Добавить группу тем
Щелкните правой кнопкой мыши «План тестирования» и добавьте новую группу потоков: « Добавить» -> « Темы (пользователи)» -> « Группа потоков».
На панели управления группой потоков введите Свойства потока следующим образом:
- Количество потоков : 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, скорость вашего интернета, мощность вашего процессора и т. Д. Следовательно, очень маловероятно, что вы получите те же результаты, что и выше. Так что не паникуйте!
Исправление проблем:
Если вы столкнулись с проблемой при выполнении описанного выше сценария… выполните следующие действия.
- Проверьте, подключаетесь ли вы к Интернету через прокси. Если да, удалите прокси.
- Откройте новый экземпляр Jmeter
- Откройте PerformanceTestPlan.jmx в Jmeter
- Дважды щелкните группу потоков -> Результат графика
- Запустить тест