#performance #jmeter #performance-testing #load-testing #percentile
Вопрос:
Я знаю, что в Jmeter есть встроенная функция, которая даст вам время ответа на запрос образца. Но мне интересно, есть ли что-то подобное для получения разных значений процентиля, таких как 95-й, 99,99-й и т. Д., Либо в JSR223, либо в образце Beanshell.
Я знаю, что можно получить значение в HTML-отчете, но я хочу знать, можете ли вы получить его с помощью какого-либо встроенного метода?
Спасибо
Ответ №1:
«Встроенных» методов не существует, если вам нужна эта информация во время выполнения JMeter, вы можете настроить JMeter на немедленную запись промежуточных результатов в файл результатов .jtl, установив следующее свойство JMeter:
jmeter.save.saveservice.autoflush=true
Затем вы можете прочитать файл .jtl в Groovy и выполнить расчет в соответствии с вашими требованиями, что-то вроде:
def lines = new File('result.jtl').readLines()
def linesWithoutHeader = lines.subList(1, lines.size())
def elapsed = []
linesWithoutHeader.each { line ->
elapsed.add(line.split(',')[1] as long)
}
elapsed = elapsed.sort()
def index = Math.ceil(99 / 100.0 * elapsed.size()) as int
log.info('99 percentile: ' elapsed.get(index - 1))
даст вам 99 процентилей в jmeter.файл журнала.