Стресс-тестирование с помощью Apache JMeter

  1. Установка и первоначальная настройка
  2. Настройка вашего теста
  3. Запуск теста
  4. Тестирование других типов серверов

Apache Jmeter - симпатичный маленький инструмент с множеством функций для тестирования веб-сайтов. Может использоваться как для стресс-тестирования, так и для функционального тестирования. Из этого туториала вы узнаете, как его настроить и приступить к базовому стресс-тестированию.

Установка и первоначальная настройка

Сначала зайдите на официальный Apache JMeter загрузите двоичный файл и распакуйте его на компьютере, с которого вы будете запускать тест (вашей рабочей станции / ноутбука должно хватить для начала). Единственным требованием к программному обеспечению является наличие установленной Java (JVM) 6 или выше. Таким образом, JMeter может быть запущен в любой операционной системе, которая имеет совместимую реализацию Java.

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

После распаковки двоичного пакета перейдите в каталог bin и запустите JMeter с помощью jmeter.bat (в системах Windows) или jmeter.sh (в * NIX).

sh (в * NIX)

Вид по умолчанию JMeter GUI

Давайте дадим нашему проекту новое название «Стресс-тест www.redpill-linpro.com». Сначала мы хотим создать новую группу потоков. Щелкните правой кнопкой мыши на «Стресс-тесте www.redpill-linpro.com» в левой колонке и выберите «Добавить» -> «Потоки (пользователи)» -> «Группа потоков». Группа потоков будет включать в себя набор задач, которые мы хотим, чтобы тест завершился. Если у вас много разных функций, которые вы хотели бы протестировать, было бы разумно разделить их на разные группы потоков, но сейчас мы рассмотрим одну.

На данный момент есть несколько основных элементов, которые можно было бы включить. Прежде всего, включите элемент конфигурации HTTP Request Defaults, который имеет довольно понятное имя. На данный момент мы установим только одно значение по умолчанию, www.redpill-linpro.com, в поле «Имя сервера или IP».

com, в поле «Имя сервера или IP»

Добавление элементов конфигурации в тест

Также разумно добавить HTTP Cookie Manager из того же меню. Менеджер файлов cookie будет отслеживать файлы cookie, полученные для каждой цепочки запросов. Установите флажок «Очистить куки на каждой итерации?». Конечно, вы можете пропустить это, если на тестируемом вами сайте нет файлов cookie.

Наконец добавьте группу потоков (Add -> Threads (Users) -> Thread Group). Это где запросы будут определены. Мы назовем группу потоков «Мой тест». Также добавьте контроллер записи (Add -> Logic Controller -> Recording Controller), который будет использоваться в качестве приемника для записи, описанной в следующем разделе.

Настройка вашего теста

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

Сначала добавьте элемент Non-test «HTTP (S) Test Script Recorder» в WorkBench. Это элемент, где вы настраиваете прокси-сервис / рекордер. Вы можете использовать большинство значений по умолчанию, но выберите «Стресс-тест на www.redpill-linpro.com> Мой тест> Контроллер записи» в раскрывающемся меню «Целевой контроллер». Мы также исключим файлы изображений, CSS, Javascript и другие вещи, которые не очень интересны. Добавьте следующие шаблоны URL в список исключений:

(? i). * \. (bmp | css | js | gif | ico | jpe? g | png | swf | woff) (? i). * \. (bmp | css | js | gif | ico | jpe? г | PNG | SWF | Уофф) [\ ?;] *.

Перед запуском рекордера вам необходимо настроить браузер на использование прокси-сервиса. В Firefox вы можете настроить это в Предпочтения -> Дополнительно -> Сеть -> Настройки. Адрес прокси-сервера HTTP - «localhost», а порт - 8080 (если вы не изменили его в настройках рекордера). Вы также можете использовать расширение FoxyProxy, которое доступно как для Firefox, так и для Chrome. Если вы не знаете, как это настроить, вам следует начать с быстрого поиска в Интернете.

Когда все настройки прокси настроены, запустите рекордер, зайдите на свой веб-сайт и вручную выполните запросы, которые вы хотите подвергнуть стресс-тестированию. Когда вы запускаете рекордер, открывается окно с сообщением о том, что сертификат CA был создан и где он находится. Вам нужно будет импортировать этот сертификат в ваш браузер, если на вашем сайте есть элементы из других доменов, которые вы хотите включить в тестовые запросы. В противном случае вы получите предупреждение о безопасности из браузера из-за того, что трафик проксируется.

В противном случае вы получите предупреждение о безопасности из браузера из-за того, что трафик проксируется

Справочная информация

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

Как только вы закончите обрабатывать запрос, вы можете остановить рекордер. Теперь у вас должен быть набор запросов, перечисленных в группе тем «Мой тест».

Теперь у вас должен быть набор запросов, перечисленных в группе тем «Мой тест»

Просмотр записанных запросов

Каждый запрос может быть изменен, и также возможно изменить заголовок запроса. Запрос / css на приведенном выше снимке экрана на самом деле является запросом к fonts.googleapis.com. Мы удалим это (щелкните правой кнопкой мыши -> Удалить), так как не хотим подвергать стресс-тестированию любые другие серверы, кроме наших.

Запуск теста

Как только у нас будут запросы, которые мы хотим, такими, какими мы хотим, мы можем наконец начать тестирование. JMeter обладает множеством функциональных возможностей для адаптации тестирования, чтобы быть максимально реалистичным. Пока мы только добавим Унифицированный случайный таймер (щелкните правой кнопкой мыши на главном элементе -> Добавить -> Таймер -> Унифицированный случайный таймер), чтобы получить хорошее распределение времени тестов. Допустим, вы хотите смоделировать тысячу запросов. Без таймера все они будут отправлены в одну и ту же миллисекунду, что редко случается в реальности.

Мы установим «Максимум случайной задержки» на 3000 миллисекунд, а «Постоянное смещение задержки» на 300 миллисекунд. Экспериментируйте и адаптируйте эти цифры к тому, что вы ожидаете получить на своем сайте.

Продолжайте настраивать элемент «Мой тест». Установите количество пользователей, которых вы хотите смоделировать, и количество циклов, в которых вы хотите выполнить тест.

Наконец, мы добавим пару элементов, которые позволят нам просмотреть результаты. Щелкните правой кнопкой мыши на «Стресс-тест www.redpill-linpro.com» -> Добавить -> Слушатель. «Просмотр дерева результатов» и «Просмотр результатов в таблице» будут отображать, был ли запрос успешным. Первый будет отображать данные ответа, а второй - полезную информацию, такую ​​как задержка и количество переданных байтов. Другим полезным слушателем является «Response Time Graph», который будет отображать время отклика для всех потоков, которые тест завершил.

Теперь все, что вам нужно сделать, это нажать кнопку воспроизведения на панели инструментов и расслабиться, пока тест не закончится.

Теперь все, что вам нужно сделать, это нажать кнопку воспроизведения на панели инструментов и расслабиться, пока тест не закончится

Просмотр результатов

Также возможно сделать все это из командной строки, но это выходит за рамки этого поста sysadvent.

Тестирование других типов серверов

Jmeter может тестировать веб-серверы (как мы уже видели). но его также можно использовать для стресс-тестирования ваших серверов API RESTful или реализации SOAP. Кроме того, Jmeter может тестировать другие сервисы, используя протоколы, отличные от HTTP (S), такие как:

  • FTP серверы
  • Базы данных (через JDBC)
  • Серверы MongoDB (NoSQL)
  • Серверы LDAP
  • JMS провайдеры
  • SMTP (S), POP3 (S) и IMAP (S) серверы

Этот список и полную документацию по JMeter можно найти на Официальный веб-сайт ,

Удачи в тестировании вашего сайта!

Силье Бьельсет Амундсен работает старшим системным консультантом в Redpill Linpro.
Силье имеет степень магистра астрофизики и уже 3 года работает системным администратором в Redpill Linpro. Она интересуется всеми вещами с открытым исходным кодом, но сосредоточена в основном на веб-технологиях на ежедневной основе.

Похожие

Использование кондиционера для обогрева вашего дома
Я думаю об использовании кондиционера для отопления дома. Может ли это быть единственным источником тепла в течение зимы и стоит ли это того?
Как настроить среду разработки Python в Windows
... других операционных системах. Это отличный язык, если вы хотите начать учиться писать компьютерные программы. Что мне нужно? Для эффективного использования Python в Windows вам понадобится несколько программ: Давайте разберемся с ними по одному. Установка Python Идти к python.org и скачайте ту версию Python, которую вы хотите. В этих примерах я загружаю Python 3.2.3.
Android Studio для начинающих, часть 1: установка и настройка
... запуск вносить изменения в работающее приложение без создания нового APK Шаблоны кода и интеграция с GitHub помогут вам создать общие функции приложения и импортировать пример кода. Обширные инструменты тестирования и платформы Инструменты Lint, помогающие оценить производительность, удобство использования, совместимость версий и другие проблемы Поддержка C ++ и NDK Встроенная поддержка
Как проверить скорость вашего домашнего интернет-соединения
... вашего интернет-соединения является простым упражнением. Вам не нужно никакого дополнительного программного обеспечения - все, что вам нужно, это компьютер с веб-браузером. Но есть также несколько вещей, которые вы можете сделать, чтобы убедиться, что вы получаете наиболее точное чтение вашего интернет-соединения. Вот что нужно сделать. Приготовься Для достижения наилучших результатов вы хотите использовать проводное соединение, если это возможно; Таким образом, вам не нужно
Как создать онлайн-опрос бесплатно с помощью Google Docs
В настоящее время вы, вероятно, проводите какие-то опросы пару раз в неделю через Buzzfeed, Facebook, новостные сайты и т. Д. Несмотря на то, что мы проводим массу опросов, не многие из нас проводят собственные опросы. Основная причина в основном в том, что не существует супер простого и быстрого способа создать опрос, отправить его, отследить ответы и показать результаты всем. После использования нескольких онлайн-инструментов единственным способом, который я предпочитаю для создания
Настройка браузеров
... настройках WebStorm. Чтобы запустить браузер семейства Chrome с дополнительными параметрами, нажмите на панели инструментов и введите необходимые ключи в текстовом поле «Параметры командной
10 простых способов продвижения вашего блога
... других Существование в соцсетях Получить контакт с пользователями Ставка на SEO Рекламируйте себя Пишите полезный контент другим Содержание король Запомни это. Даже не начинайте продвигать свой блог, если у вас нет контента на нем. Если у вас есть контент, например, что вы ели на ужин или что вы
Создание бота Google Hangout с помощью Express & Node.js
Требуемое время: 20 минут. Технологии: Express, Node.js, JavaScript. Предпосылки: Базовые знания Express, Node.js и JavaScript. Node.js и npm установлены. Из этого туториала вы узнаете, как создать бота, который будет отвечать на пинги (например, @ <имя-бота>) и отправлять сообщения в чат-комнату. На высоком уровне бот будет работать на экспресс-сервере и получать пинг через конечную точку HTTP. Ответы на эхо-запросы будут отправляться
Управление компьютером с помощью Windows Vista
... вашего компьютера и операционной системы. Набор модулей сбора данных представляет собой набор инструментов мониторинга, которые можно сгруппировать по мере необходимости и использовать по желанию. Отчеты помогут в хранении и чтении информации. Диспетчер устройств Последним элементом системных инструментов является диспетчер устройств . Этот адаптер позволяет управлять аппаратным обеспечением компьютера, изменять настройки, а также устанавливать
GTA 5 - Настройки и графические опции на ПК • Eurogamer.pl
На следующей странице будут показаны все графические настройки для версии GTA 5 для ПК. Несмотря на то, что название студии Rockstar действительно хорошо оптимизировано и хорошо работает на слабых компьютерах, стоит знать, какие параметры могут вызывать замедление игры, когда на экране немного больше. Мы постараемся сосредоточиться на основных настройках потока анимации. Вкладка «Изображение» Это первая из трех вкладок в меню «Настройки», и они имеют прямое отношение к изображению.
Персональное облако Seagate (3 ТБ)
... настройками уровня обслуживания ... Вы можете вносить изменения в конфигурацию, например, сообщать устройству, когда идти спать, и отсюда запускать несколько других очень полезных приложений и служб. Множество приложений включены по умолчанию. Большинство

Комментарии

Есть ли причины, по которым вы выбрали Typekit или один из других коммерческих сервисов?
... вашего разрешения». Что делает Brave особенным для скорости и конфиденциальности? Хороший вопрос. Это правда, что некоторые из браузеров «большой четверки» блокируют рекламу или, по крайней мере, некоторые из них - Chrome блокирует только те, которые, по его мнению, являются наиболее раздражающими и раздражающими, Firefox в Mozilla будет блокировать рекламу до конца года, но не ясно, что этот блокировщик сделает Хорошо, заблокируйте - или предотвратите
А как насчет других CA, таких как Comodo?
А как насчет других CA, таких как Comodo? В приведенном выше примере Comodo фактически обнаружил, что сайт является вредоносным, и отозвал сертификат. Поэтому им следует отдать должное за это. Проблема заключалась в том, что Chrome неправильно ищет отозванные сертификаты. То, как центры сертификации выдают сертификаты, уже давно является предметом дискуссий. Google
Что отличает Brave от других браузеров?
Что отличает Brave от других браузеров? Что отличает Brave, так это агрессивная антиреклама. Браузер был создан для удаления онлайн-рекламы с веб-сайтов, и бизнес-модель его производителя основывается не только на блокировке рекламы, но и на замене вычеркнутой рекламы рекламой из собственной сети. Это похоже на то, как если бы новая телевизионная сеть объявила, что будет использовать технологию для удаления рекламы из программ других сетей, а затем ретранслировать эти программы с рекламой
Как подписать вещи вашего ребенка в детский сад, детскую кроватку или школу?
Как подписать вещи вашего ребенка в детский сад, детскую кроватку или школу? Многие родители уже нашли ответ на этот сложный вопрос. В конце концов, сентябрь давно закончился. Однако сегодня я хотел бы представить вам интересное и совершенно инновационное решение, которое наверняка оценят многие родители, потому что у него много применений, но это момент. Подписание вещей ребенка часто является необходимостью для родителей , и это обязательное требование, которым ребенок
Wi-Fi вреден для вашего здоровья?
Wi-Fi вреден для вашего здоровья? Мы свергаем миф 2,9 (58,48%) 896 голосов Что вы искали?
В любом случае, что делает лучший процессорный кулер для вашего ПК?
В любом случае, что делает лучший процессорный кулер для вашего ПК? Это тишина? Это прирост производительности? Как насчет доступности? По правде говоря, производство лучшего процессорного кулера означает достижение идеального баланса всех трех. Наш лучший выбор, например, NZXT Kraken X62, излучает серьезную мощь для серьезных процессоров. Хотя это, по общему признанию, ненужное дополнение для среднего стандартного процессора, оно имеет огромное значение для разогнанного кремния. И, в довершение

Установите флажок «Очистить куки на каждой итерации?
Bmp | css | js | gif | ico | jpe?
Bmp | css | js | gif | ico | jpe?
Г | PNG | SWF | Уофф) [\ ?
Может ли это быть единственным источником тепла в течение зимы и стоит ли это того?
Что мне нужно?
Что делает Brave особенным для скорости и конфиденциальности?
А как насчет других CA, таких как Comodo?
Что отличает Brave от других браузеров?
Как подписать вещи вашего ребенка в детский сад, детскую кроватку или школу?