Контролери в JMeter: цикл, простий, транзакція, модуль, випадковий
Що таке логічний контролер?
Логічні контролери дозволяють визначати порядок обробки запитів у потоці. Це дозволяє контролювати, «коли» надсилати запит користувача на веб-сервер. Наприклад, ви можете використовувати випадкові контролери для випадкового надсилання HTTP-запитів на сервер
Логічні контролери визначають порядку в якому виконується запит користувача.
Нижче наведено деякі поширені логічні контролери:
Контролер запису
JMeter може запис ваш Тестування кроки; контролер запису - це a заповнювач щоб зберегти ці кроки запису.
Простий контролер
Простий контролер - це просто a контейнер на запит користувача.
Контролер петлі
Контролер циклу запускає запит користувача задану кількість разів або бігти назавжди як показано на малюнку:
Випадковий контролер
Random Controller запускає всі запити користувачів випадковий порядку в кожному періоді циклу.
Наприклад, у вас є 3 запити користувачів на сайт http://www.google.com у такому порядку:
- HTTP-запит
- FTP запит
- Запит JDBC
Ці 3 запити мають виконуватися 5 разів. Загалом на сервер Google буде надіслано 15 запитів користувачів JMeter.
In послідовний замовлення, заявки відправлені послідовно у такому порядку:
HTTP-запит ->FTP-запит->JDBC-запит
для кожної петлі.
In випадковий замовлення, запити надсилаються як випадково,
FTP-запит ->HTTP-запит->JDBC-запит
Or
Запит JDBC -> FTP-запит -> HTTP-запит
Для кожної петлі.
Контролер модуля
Мета Module Controller — додати модульності JMeter.
Загальна ідея полягає в тому, що веб-програми складаються з невеликих функціональних одиниць (наприклад, вхід, створення облікового запису, вихід з системи…). Ця функція може бути збережена в Простий контролер як «модулі». Контролер модуля вибере, який модуль потрібно запустити.
Розглянемо наступний сценарій –
Ви хочете змоделювати:
- користувачі 50 вихід із системи,
- користувачі 100 вхід у систему
- користувачі 30 пошук www.google.com
Ви можете використовувати JMeter для створення 3 модулів. Кожен модуль імітує кожну дію користувача: вхід, вихід із системи та пошук.
Контролер модуля вибирає, який модуль потрібно запустити.
Інші важливі контролери
- Переміжувати Контролер: забирає і робить один виконання запиту користувача кожен петля з нитки.
- Час виконання Контролер: елементи керування як довго його дітям дозволено бігати.
Наприклад, якщо ви вказали Runtime Controller 10 секунд, JMeter запустить ваш тест протягом 10 секунд.
- Угода Контролер: вимірює загальний час прийнято до закінчення тестове виконання
- Include Контролер: призначений для використання зовнішнього тестового плану. Цей контролер дозволяє використовувати декілька планів тестування JMeter. Подробиці див JMeter Тестування продуктивності.
Приклад контролера циклу
У цьому розділі наведено покрокові інструкції щодо додавання Контролер петлі налаштуйте ваш поточний план перевірки продуктивності.
Контролер циклу змушує семплер запускати певну кількість разів на додаток до значення циклу, яке ви вказали для групи потоків. Наприклад, якщо ви
- Додайте один HTTP-запит до контролера циклу з кількістю циклів 50
- Налаштуйте кількість циклів Thread Group на 2
- Потім JMeter загалом надішле 50 * 2 = 100 HTTP-запитів.
Це Дорожня карта цього прикладу:
Крок 1) Налаштування групи потоків
We повторне використання Крок 1, 2 підручника JMeter Тестування продуктивності.
-
Додати групу потоків
Клацніть правою кнопкою миші на План тестування і додайте нову групу потоків: додавати-> Потоки (користувачі) ->Група ниток
Але на панелі керування групою потоків введіть властивості потоку таким чином:
Це зробить один запит користувача до веб-сервера google.com і запустіть його 2 раз.
-
додавати JMeter елементи
Додайте HTTP-запит за умовчанням до www.google.com.
-
Додавання контролера контуру
Клацніть правою кнопкою миші Група потоків -> Логічний контролер -> Контролер циклу
Крок 2) Налаштування Loop Controller
Додайте значення 50 до поля Loop Count, як показано на малюнку нижче. Це зробить один запит користувача на веб-сервер google.com запустіть його 50 разів, на додаток до значення циклу =2, яке ви вказали для групи потоків вище. Отже JMeter надішле загалом 2 * 50 = 100 HTTP-запити.
Клацніть правою кнопкою миші Loop Controller, Add -> Sampler -> HTTP-запит
Крок 3) Додайте результати перегляду в таблицю
Ми повторно використовуємо крок 2 у Таймер щоб додати Переглянути результати в табл
Отже, план тестування показано на малюнку нижче
Крок 4) Виконайте тест
Тепер поверніть «Переглянути результати в таблиці», натисніть кнопку «Пуск» на панелі меню (Ctrl+R), щоб запустити тест
Як показано на малюнку нижче, JMeter імітує один запит користувача, який надсилається 100 разів на веб-сервер http://www.google.com/. Тест припиняється після того, як запит користувача було надіслано 100 разів.
Пошук і усунення несправностей
- Якщо ви зіткнулися з проблемою під час виконання описаного вище сценарію... виконайте наступне
- Перевірте, чи ви підключаєтесь до Інтернету через проксі. Якщо так, видаліть проксі.
- Відкрийте новий екземпляр Jmeter
- Відкрийте ControllerTestPlan.jmx в Jmeter
- Натисніть «Група потоків» -> «Переглянути результат у таблиці».
- Запустіть тест