t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как узнать сколько запросов в обработке на сервере

performance
jmeter
server
Теги: #<Tag:0x00007f9e35c63678> #<Tag:0x00007f9e35c63538> #<Tag:0x00007f9e35c633a8>

(Роман Клочков) #1

Всем привет!

Есть проект, у него есть требования к производительности сервера - запросы разных типов, скажем 1/2/3 должны обрабатываться не дольше 0,1/5/40 секунд, при условии что нагрузка не превышает запланированную (до 200 пользователей онлайн и до 50 одновременных запросов в обработке у сервера).
В JMeter составил сценарий для проверки стабильности, который 8 часов должен поддерживать нагрузку близкую к максимальной.
С 200 пользователей онлайн проблем нет, спасибо JMeter, всё просто
Но возник вопрос - как узнать, что вышли на требуемый уровень “одновременных запросов в обработке у системы”?
Внезапно осознал, что “Throughput” совсем не про это. Посмотрел листенеры и плагины - тоже не нашёл ничего нужного. В лучшем случае - график “количество активных тредов”, что очевидно не то.
Пока единственная идея - сохранять в файл “view results in table”, и скриптом из TimeStamp и SampleTime рисовать сколько запросов было в обработке у сервера каждую секунду.

Но выглядит уж больно костыльно - прогнать сценарий, посмотреть график запросов, подкрутить задержки, прогнать сценарий и тд…

Не верю, что JMeter не может, но в упор не вижу как. Подскажите пожалуйста!


(Valentin G ) #2

Боюсь ошибиться, но мне кажется придется поверить. Эту информацию проще (или не проще) всего достать из логов системы.


(Роман Клочков) #3

Обсуждения в разных местах не нашли решения, использующего JMeter
Проблема решается только внешними средствами.


(Ivan V) #4

Еще как вариант, можно переговорить с источником требований. Возможно ему на самом деле больше подойдет измерение TPS, что будет более показательно, чем " количество одновременных запросов в обработке" на мой взгляд.


(Роман Клочков) #5

TPS не всегда показательно. Например сервис рассчитан на ццу в 150-200. И одно из основных требований - если 20-30 человек одновременно запулят запросы, которые будут обрабатываться 10-30 минут, остальные пользователи не будут лагать всё это время.
Соблюдение “одновременное количество запросов” должно показывать, что профиль нагрузки адекватный. И не будет ситуации когда на стенде 200 ботов спамят только “покажи лёгкую страничку” и сервер выдаёт 100+ TPS с прекрасным откликом. А на испытаниях заходят 30 человек и всё лагает.