Производительность тестирование имеет решающее значение для определения того, что веб — приложение , испытуемый будет удовлетворять высокие нагрузки требований. Он может быть использован для анализа общей производительности сервера при большой нагрузке.
Инструмент тестирования Apache JMeter предлагает следующие преимущества в тестировании производительности
- JMeter можно использовать для тестирования производительности как статических ресурсов, таких как JavaScript и HTML, так и динамических ресурсов, таких как JSP, сервлеты и AJAX.
- JMeter может обнаружить максимальное количество одновременных пользователей, которое может обработать ваш сайт
- JMeter предоставляет различные графические анализы отчетов о производительности.
Тестирование производительности JMeter включает в себя:
- Нагрузочное тестирование: моделирование ожидаемого использования путем симуляции многопользовательского доступа к веб-сервисам одновременно.
- Стресс- тестирование. Каждый веб-сервер имеет максимальную нагрузочную способность. Когда нагрузка выходит за пределы предела, веб-сервер начинает медленно реагировать и выдавать ошибки. Цель стресс-тестирования — найти максимальную нагрузку, которую может выдержать веб-сервер.
На рисунке ниже показано, как JMeter load Testing моделирует большую нагрузку:
Создать план тестирования производительности в JMeter
В этом руководстве мы проводим анализ производительности Google.com для 1000 пользователей.
Перед тестированием производительности целевого веб-приложения мы должны определить
- Нормальная нагрузка : среднее количество пользователей, посещающих ваш сайт
- Heavy Load : максимальное количество пользователей, посещающих ваш сайт
- Какова ваша цель в этом тесте?
Вот дорожная карта этого практического примера
Шаг 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
Если вы оставите поле Path пустым, JMeter создаст запрос URL http://www.google.com на сервер Google.
В этом тесте вы оставите поле Path пустым, чтобы JMeter создавал запрос URL http://www.google.com на сервер Google.
Шаг 3) Добавление графического результата
JMeter может показывать результаты теста в формате Graph.
Щелкните правой кнопкой мыши План тестирования, Добавить -> Слушатель -> Результаты графика.
Шаг 4) Запустите тест и получите результат теста
Нажмите кнопку «Выполнить» (Ctrl + R) на панели инструментов, чтобы начать процесс тестирования программного обеспечения. Вы увидите результаты теста на графике в режиме реального времени.
На рисунке ниже представлен график плана тестирования, где мы смоделировали 100 пользователей, которые заходили на сайт www.google.com .
Внизу рисунка есть следующая статистика, представленная в цветах:
- Черный: общее количество отправленных текущих образцов.
- Синий : текущее среднее всех отправленных образцов.
- Красный : текущее стандартное отклонение.
- Зеленый : пропускная способность, которая представляет количество запросов в минуту, обработанных сервером
Давайте проанализируем производительность сервера Google на рисунке ниже.
Чтобы проанализировать производительность тестируемого веб-сервера, необходимо сосредоточиться на 2 параметрах
- пропускная способность
- Отклонение
Пропускная способность является наиболее важным параметром. Он представляет способность сервера справляться с большой нагрузкой. Чем выше пропускная способность, тем выше производительность сервера.
В этом тесте пропускная способность сервера Google составляет 1 491,193 в минуту. Это означает, что сервер Google может обрабатывать 1 491 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
- Двойной щелчок по группе нитей -> Результат графика
- Запустить тест