Я пытался предложить формулу для расчета пропускной способности (число запросов / единица времени) на основе некоторых свойств из журнала jtl на основе следующих параметров:
- Метка времени (ts)
- Время (т)
- Количество запросов
Взглянув на временные метки, я не был полностью уверен, относится ли это ко времени, когда запрос был отправлен или когда он получил ответ (моя основная точка смущения здесь). Если взглянуть на значения, первый вариант кажется более вероятным. Итак, предполагая это, я получил следующее:
Throughput = (NumRequests / (max(ts + t) - min(ts)) ) * 1000
Может кто-нибудь сказать мне, прав ли я с этим?
Обновление (и спасибо за ответ @BlackGaff)
Суть в том, что мне нужно выполнить свои тесты и собрать результаты в среде без графического интерфейса для некоторых автоматизированных процессов, поэтому я не могу по-настоящему использовать сводный отчет (если нет способа запустить его из команды линия). Использование max & min - это попытка найти значения ts из набора запросов (в том же тесте). Кроме того, если я сконфигурирую сэмплеры, чтобы период разгона отличался от 0 (таким образом, нагрузка распределялась), числа, которые я получаю для ts, отличаются. И да, как вы уже упоминали ранее, я эффективно ищу разницу между startTime первого образца и endTime последнего образца. Помимо этого я нашел параметр в jmeter.properties:
# Put the start time stamp in logs instead of the end
#sampleresult.timestamp.start=true
Поэтому, в зависимости от этого параметра, мне кажется, что мне также следует изменить расчет, чтобы получить время начала и окончания.
ПРИМЕЧАНИЕ. Мне интересно узнать, как рассчитать это на основе файла jtl, но если кому-то понадобится получить эти числа из командной строки, попробуйте добавить прослушиватель «Создать сводный отчет», и в журналах jmeter вы получите строка, аналогичная следующей в конце выполнения:
2011/03/10 22:31:42 INFO - jmeter.reporters.Summariser: Generate Summary Results = 200 in 9.8s = 20.5/s Avg: 95 Min: 75 Max: 315 Err: 0 (0.00%)