Контролери в JMeterЦикл, Логіка, Транзакція

⚡ Розумний підсумок

Логічні контролери в JMeter визначити порядок, у якому запити користувачів виконуються в потоці, за допомогою контролерів, таких як Loop, Random, Simple, Module та Recording shapping як план тестування продуктивності надсилає запити на сервер.

  • 🎛️ Логічні контролери: Контролери встановлюють порядок, у якому запити виконуються в потоці.
  • 🔁 Контролер циклу: Запускає семплер задану кількість разів у циклі потоку.
  • 🎲 Випадковий контролер: Виконує дочірні запити у випадковому порядку в кожному циклі.
  • 🧩 Контролер модуля: Додає модульність, вибираючи, який модуль запускатиметься.
  • ⏺️ Контролер запису: Зберігає записані кроки тестування як заповнювач.
  • 🤖 Допомога AI: Штучний інтелект допомагає проектувати та аналізувати JMeter плани тестування продуктивності.

Контролери в JMeter

Що таке логічний контролер?

Логічні контролери дозволяють визначати порядок обробки запитів у потоці. Це дозволяє контролювати, «коли» надсилати запит користувача на веб-сервер. Наприклад, ви можете використовувати випадкові контролери для випадкового надсилання HTTP-запитів на сервер

Логічні контролери визначають порядку в якому виконується запит користувача.

Нижче наведено деякі поширені логічні контролери:

Логічний контролер

Контролер запису

JMeter може запис ваш Тестування кроки; контролер запису - це a заповнювач щоб зберегти ці кроки запису.

Контролер запису

Простий контролер

Простий контролер - це просто a контейнер на запит користувача.

Простий контролер

Контролер петлі

Контролер циклу запускає запит користувача задану кількість разів або бігти назавжди як показано на малюнку:

Контролер петлі

Випадковий контролер

Random Controller запускає всі запити користувачів випадковий порядку в кожному періоді циклу.

Наприклад, у вас є 3 запити користувачів на сайт http://www.google.com у такому порядку:

  1. HTTP-запит
  2. FTP запит
  3. Запит JDBC

Ці 3 запити мають бути виконані 5 разів. Загалом буде надіслано 15 запитів користувачів. Google сервер від JMeter.

In послідовний замовлення, заявки відправлені послідовно у такому порядку:

HTTP-запит ->FTP-запит->JDBC-запит

для кожної петлі.

Випадковий контролер

In випадковий замовлення, запити надсилаються як випадково,

FTP-запит ->HTTP-запит->JDBC-запит

Or

Запит JDBC -> FTP-запит -> HTTP-запит

Для кожної петлі.

Контролер модуля

Мета Module Controller — додати модульності JMeter.

Загальна ідея полягає в тому, що веб-застосунки складаються з невеликих функціональних одиниць (наприклад, вхід, створення облікового запису, вихід із системи…). Ці функції можна зберігати в Simple Controller як «модулі». Module Controller вибере, який модуль потрібно запустити.

Контролер модуля

Розглянемо наступний сценарій –

Ви хочете змоделювати:

  • користувачі 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 Тестування продуктивності.

  1. Додати групу потоків

Клацніть правою кнопкою миші на План тестування і додайте нову групу потоків: додавати-> Потоки (користувачі) ->Група ниток

Але на панелі керування групою потоків введіть властивості потоку таким чином:

Додати групу потоків

Це зробить один запит користувача до веб-сервера google.com і запустіть його 2 раз.

  1. додавати JMeter елементи

Додайте HTTP-запит за умовчанням до www.google.com.

  1. Додавання контролера контуру

Клацніть правою кнопкою миші Група потоків -> Логічний контролер -> Контролер циклу

Додавання контролера контуру

Крок 2) Налаштування Loop Controller

Додайте значення 50 до поля Loop Count, як показано на малюнку нижче. Це зробить один запит користувача на веб-сервер google.com запустіть його 50 разів, на додаток до значення циклу =2, яке ви вказали для групи потоків вище. Отже JMeter надішле загалом 2 * 50 = 100 HTTP-запити.

Налаштування Loop Controller

Клацніть правою кнопкою миші Loop Controller, Add -> Sampler -> HTTP-запит

Налаштування Loop Controller

Крок 3) Додайте результати перегляду в таблицю

Ми повторно використовуємо крок 2 у Таймер щоб додати Переглянути результати в табл

Отже, план тестування показано на малюнку нижче

Додайте Переглянути результати в табл

Крок 4) Виконайте тест

Тепер поверніть «Переглянути результати в таблиці», натисніть кнопку «Пуск» на панелі меню (Ctrl+R), щоб запустити тест

Як показано на малюнку нижче, JMeter імітує один запит користувача, який надсилається 100 разів на веб-сервер http://www.google.com/. Тест припиняється після того, як запит користувача було надіслано 100 разів.

Запустіть тест

Пошук і усунення несправностей

  1. Якщо ви зіткнулися з проблемою під час виконання описаного вище сценарію... виконайте наступне
  2. Перевірте, чи ви підключаєтесь до Інтернету через проксі. Якщо так, видаліть проксі.
  3. Відкрийте новий екземпляр Jmeter
  4. Відкрийте ControllerTestPlan.jmx в Jmeter
  5. Натисніть «Група потоків» -> «Переглянути результат у таблиці».
  6. Запустіть тест

Поширені запитання

Семплер надсилає фактичний запит на сервер, наприклад, HTTP- або JDBC-запит. Логічний контролер сам не надсилає запити; він контролює порядок та умови, за яких його дочірні семплери виконуються в потоці.

Контролер транзакцій вимірює загальний час, витрачений на виконання групи семплерів як однієї транзакції. Він корисний для відстеження часу багатоетапного бізнес-процесу, такого як вхід, а потім пошук, а не кожного запиту окремо.

Вони множаться. Якщо контролер циклів встановлено на 50, а кількість циклів групи потоків дорівнює 2, кожен семплер всередині контролера виконується 50 разів за ітерацію, загалом 50 помножених на 2, що становить 100 запитів.

Так. Штучний інтелект може пропонувати реалістичні моделі робочого навантаження, генерувати тестові дані та аналізувати графіки результатів, щоб виявити вузькі місця. Машинне навчання виявляє аномалії продуктивності та прогнозує пропускну здатність, допомагає...ping інженери проектують та інтерпретують JMeter тести швидше.

Штучний інтелект моделює очікувані моделі навантаження, автоматично налаштовує параметри тестування та аналізує показники для виявлення регресій та першопричин. Ці інтелектуальні функції роблять тестування продуктивності більш прогнозованим, перетворюючи його на необроблені дані. JMeter результати перетворюються на практичні висновки щодо потенціалу.

Підсумуйте цей пост за допомогою: