понимание ву метрик и статистики - PullRequest
0 голосов
/ 09 марта 2020

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

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!

Итак, я предполагаю, что что-то не работает?

1 Ответ

1 голос
/ 09 марта 2020

Вся статистика в конце теста относится ко всей продолжительности теста.

Как сказано в сообщении, iterations распределяется между VU ... или, иначе, iterations сколько итераций выполнит весь тест, а не каждый отдельный VU. И VU просто выполняют итерации.

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

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

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

...