JMeter розуміння нарощування

Це конфігурація властивостей моїх тестів:

Number of Threads (users): 100
Ramp-up Period (in seconds): 10
Loop Count : Forever
Delay thread creation until needed: No
Scheduler: No

Я провів тест на ніч із загальною тривалістю 14 годин і 7 хвилин (приблизно 50820 секунд). Після завантаження файлу jtl, кількість зразків показано у зведеному звіті 1050975. Я спробував обчислити, але я не можу зрозуміти, як він придумав, що багато зразка.

Якщо Ramp-Up Period (Час розгону) - це час, необхідний JMeter для створення кількості потоків на кожну ітерацію, і якщо тривалість тесту становить 50820 секунд, то я повинен мати тільки 508200 зразків (50820/10 * 100). Я не знаю як або якщо Loop Count впливає на це.

33
Крім відповідей; Зазвичай я встановлюю період розгону так само, як і кількість потоків, тобто додавати новий потік кожну секунду. Тільки щоб переконатися я не роблю надто багато відразу.
додано Автор Sherlock, джерело
Кількість вибірок також є функцією часу відгуку ваших зразків. Отже, якщо ваші зразки подаються через 0,5 секунди, у вас буде 2 зразки в секунду. Через 10 секунд всі 100 потоків будуть повною швидкістю, і ви побачите 200 зразків в секунду. І, отже, більша кількість вибірок в даній часовій тривалості. Я думаю, ви припускаєте, що тільки 1 зразок буде запитано в секунду, що не відповідає дійсності.
додано Автор Manish Sapariya, джерело

7 Відповіді

Розгортання в групі потоків - це час, який повинен виконати JMeter, щоб почати загальна кількість потоків. У вашій ситуації це означає, що кожні 0,1 секунди новий потік починає видавати 100 потоків після 10 секунд. Ці 100 ниток виконують ваші тестові ітерації назад до спини, так що після розгону 100 потоків постійно виконуються протягом тривалості тесту.

53
додано
Корисно для тестування автоматичного масштабування - напр. для більшості веб-сайтів малоймовірно, що ви відразу перейдете від 0 до 100 одночасних користувачів. Більш імовірно, що одночасні користувачі поступово збільшуватимуться (і тим самим даватимуть системі автоматичного масштабування час реагувати). Ramp-up дозволяє перевірити цей сценарій.
додано Автор Jon Burgess, джерело
Чому ми потребуємо нарощування? не можемо почати все відразу? Я маю на увазі те, чому люди вважають за краще мати час, щоб нарощувати?
додано Автор Nilesh, джерело

Ramp-up Period - The time frame (in seconds) for all requests to start. All the threads specified in the Number of Threads input will start within Ramp-up period.

Наприклад:

100 threads and 100 seconds ramp-up: each second JMeter will start 1 Thread until all threads are started by the time the 100 seconds are up.

100 threads and 50 seconds ramp-up: each second 2 Threads are started.

100 threads and 200 seconds ramp-up: every 2 seconds, 1 Thread is started.

Зараз,

Вибірка або генерація запиту - це інша концепція, ніж покоління потоків . .org/usermanual/glossary.html # Пропускна здатність "rel =" noreferrer "> Пропускна здатність . Відповідно до глосарію JMeter:

Пропускна здатність розраховується як запит/одиниця часу. Час   обчислюється від початку першого зразка до кінця останнього   зразок. Це включає будь-які інтервали між зразками, як передбачається   для представлення навантаження на сервер.

     

Формула: Пропускна здатність =   (кількість запитів)/(загальний час).

Тут кількість виконаних зразків або запитів є 1050975 , а тривалість тестування - 50820 . Таким чином, це пов'язано з пропускною. Вихідні 1050975 запитів у 50820s означають середню пропускну спроможність strong> протягом усього тесту був приблизний 20.5/s .

Щоб взяти під контроль Пропускну здатність або Транзакції в секунду , є дуже зручні плагіни JMeter, названі #Constant_Throughput_Timer "rel =" noreferrer "> Константний пропускний таймер .

Таймер постійної пропускної здатності вводить змінні паузи, розраховані на   зберігати загальну пропускну здатність (у термінах зразків в хвилину) максимально наближено   можливої ​​для даної цифри. Звичайно, пропускна здатність буде меншою, якщо   сервер не може його обробляти, або якщо інші таймери або   трудомісткі тестові елементи запобігають цьому.

15
додано

Період розгону повідомляє JMeter, як довго потрібно приймати "розгойдуватися" до повної кількості потоків.

@ Маленька курка Розуміння 1 правильне.

Якщо використовуються 10 потоків, а період розгону - 10 секунд, то JMeter займе 10 секунд, щоб отримати всі 10 потоків і працювати.

Кожен потік почнеться через 1 секунду після початку попереднього потоку.

10
додано

Період розгону повідомляє JMeter, як довго потрібно приймати "розгойдуватися" до повної кількості вибраних потоків. Якщо використовуються 10 потоків, а період розгону - 100 секунд, JMeter займе 100 секунд, щоб отримати всі 10 потоків. Кожен потік почнеться через 10 (100/10) секунд після початку попереднього потоку. Якщо 30 потоків і період розгону 120 секунд, кожна наступна нитка буде затримана на 4 секунди.

3
додано

Розуміння 1: правильно Період розгону повідомляє JMeter, як довго потрібно приймати "розгойдуватися" до повної кількості вибраних потоків. Якщо 10 використовуються потоки, а період розгону - 100 секунд, тоді JMeter займе 100 секунд, щоб отримати всі 10 секунд потоки запущені. Кожен потік почнеться через 10 (100/10) секунд після початку попереднього потоку. Якщо там 30 потоків і період розгону 120 секунд, після чого кожен наступний потік буде затриманий на 4 секунди

1
додано

Ramp up Period (Час розгону): Частота, з якою користувачі будуть включені, щоб розпочати транзакцію.

У jMeter, з 10 користувачами, якщо ви даєте час розгону 20, то 1 користувач почне виконувати план кожні 2 секунди.

0
додано

Це властивість повідомляє JMeter, як довго затримувати між запуском кожного користувача.

     

Наприклад, якщо ви введете період розгону 5 секунд, буде JMeter   завершіть роботу всіх користувачів до кінця 5 секунд. Отже, якщо   у нас є 5 користувачів і 5-секундний період розгону, потім затримка між ними   стартові користувачі будуть 1 секунда (5 користувачів/5 секунд = 1 користувач   другий). Якщо ви встановите значення 0, JMeter відразу ж почне роботу   всіх ваших користувачів.

0
додано