понимание метрик и статистики vu

Я запускал нагрузочные тесты и итоговая статистика показывала количество запросов

http_reqs..................: 77

когда я выполнил тест для 100 VU с 2 итерациями. 77 запросов — это количество, которое должно быть выполнено одним пользователем, поэтому я думал, что оно показывает только статистику одного VU.

Затем я переключился на 1000 VU и 100 итераций этого результата.

http_reqs..................: 3803

Это кажется небольшим для 1000 виртуальных пользователей и 100 итераций и опровергает мою мысль о том, что он показывает количество запросов на одного виртуального пользователя.

При запуске теста он добавляет записи в базу данных. Так что я ожидал как минимум 1000 новых записей. Но это добавляет только 100 каждый запуск.

Также он предоставляет информацию о том, что

All iterations (100 in this test run) are shared between all VUs, so some of the 1000 VUs will not execute even a single iteration!

Я так понимаю, что-то не работает?


k6
person lapots    schedule 09.03.2020    source источник


Ответы (1)


Вся статистика в конце теста за все время теста.

Как говорится в сообщении, iterations распределяются между VU... или, другими словами, iterations — это количество итераций, которые будет выполнять весь тест, а не каждый отдельный VU. А ВУ просто выполняют итерации.

Итак, в вашем случае, когда у вас есть 77 запросов, они были фактически сгенерированы из 2 итераций, а когда у вас было 3803, они были сгенерированы из 100 итераций. Сколько VU было использовано для их создания, на самом деле не имеет значения.

Я предполагаю (потому что 77 * 50 != 3803), что у вас есть какая-то логика, которая будет делать или не делать запросы на каждой итерации, чтобы они делали их разное количество?

Как я упоминал ранее, итерации предназначены для всего теста, поэтому, если вы хотите, чтобы 100 VU выполняли по 2 итерации каждая, вам нужно фактически сказать, что вы хотите 200 итераций. Это также не гарантируется, потому что VU получают итерации как можно быстрее. Так что есть реальная вероятность, что в этом примере вы получите 1 ВУ, который сделал 3 итерации и 1 с 1, или какой-то другой вариант. Это, в общем-то, не проблема, но через месяц-два (надеюсь) этого не будет :D

person Михаил Стойков    schedule 09.03.2020
comment
Какое-то странное поведение. - person lapots; 09.03.2020