Многие из нас используют JMeter для проверки производительности различных веб-запросов. Но как мы анализируем результаты JMeter? Неудачный запрос легко поймать. Как насчет снижения производительности? Как мы узнаем, хорошо ли выполнен запрос?
например, рассмотрите приведенный ниже вывод из JMeter
Summariser: summary = 500 in 00:03:27 = 2.4/s Avg: 4047 Min: 1039 Max: 4686 Err: 0 (0.00%)
Мы получаем такой вывод для каждого запуска из JMeter. Как мы можем автоматически узнать, хороша или плоха производительность конкретного тестового прогона? [За исключением таких сбоев, как HTTP 4*, HTTP 5*]. Можем ли мы что-то сделать с этими данными (и всеми историческими данными), чтобы сказать нам, находится ли новый прогон в «хороших» пределах?
Собрав некоторые из выборочных данных, мы получим что-то вроде приведенного ниже. А так же, перебирая их вручную, мы видим ту одну строку, которая выглядит немного иначе.
total,time(sec),throughput,average,min,max,err 5000,2043,2.4,4077,1123,4765,0 1000,427,2.4,4184,1053,4673,0 2000,898,2.3,4080,967,4562,0 5000,2041,2.4,4262,410,7748,0 2500,1043,2.4,4076,1351,5015,0 3000,1264,2.5,4078,1063,4739,0 5000,2044,2.4,4577,1057,4665,0 5000,2211,3.4,4765,2051,9721,0 4000,2041,2.4,4072,1274,4969,0 1000,492,2.3,4078,1277,4926,0
Один из более простых способов найти решение — собрать каждый из этих наборов данных, найти их среднее значение и дисперсию (скажем, всю пропускную способность), а затем сравнить новые данные с этими значениями. Они звучат великолепно, когда количество обсуждаемых нами параметров меньше — скажем, 4–5 параметров. Когда число переменных увеличивается до 25–30, сразу несколько сравнений становятся более сложными.
Некоторые нечисловые значения также учитываются при выполнении тестов производительности в различных средах.
2020-01-16 12:12:39,004 INFO o.a.j.JMeter: Setting JMeter property: threads=10 2020-01-16 12:12:39,004 INFO o.a.j.JMeter: Setting JMeter property: loops=50 2020-01-16 12:12:39,009 INFO o.a.j.JMeter: Copyright (c) 1998-2018 The Apache Software Foundation 2020-01-16 12:12:39,009 INFO o.a.j.JMeter: Version 4.0 r1823414 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: java.version=1.8.0_171 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: os.name=Linux 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: os.arch=amd64 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: os.version=1.2.2-4.8.6.x86_64 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: Max memory =1073741824 2020-01-16 12:12:39,010 INFO o.a.j.JMeter: Available Processors =24
После того, как информация собрана, мы применяем алгоритмы машинного обучения для оценки метрик и выявления аномалий. Он принимает во внимание все данные и считает большую их часть ИСТИННОЙ с некоторыми аномалиями.
Более подробная информация представлена в тематическом исследовании, опубликованном ниже.
https://www.ijariit.com/manuscript/performance-benchmark-using-machine-learning