TGViewer
📢 Load & Performance 📢 Load & Performance @qaload · 949 subscribers
Post #92 2.57K
Как настроить поступление данных из jmeter в influxdb?
Тест запускается из jenkins в нескольких экземплярах

1) TAG_AGENT
Если агенты запускаются, как отдельные агенты, без мастер-слейв,
то важно разделить данные с помощью тегов.

Добавить тег с именем агента в результаты, чтобы они не перемешивались.

https://jmeter.apache.org/usermanual/component_reference.html#Backend_Listener

TAG_WhatEverYouWant
You can add as many custom tags as you want. For each of them, create a new line and prefix its name by "TAG_"

Например

TAG_AGENT
Значение - можно такое ${__machineName}
https://jmeter.apache.org/usermanual/functions.html#__machineName

2) TAG_BUILD_ID

И нужен идентификатор запуска из jenkins, чтобы не перемешивать все запуски между собой

https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
BUILD_ID
The current build ID, identical to BUILD_NUMBER for builds created in Jenkins versions 1.597+

Например такой тег, тоже добавляется новой строкой в BackendListener:

TAG_BUILD_ID
Значение
${__P(BUILD_ID)}

BUILD_ID прокидывается из переменных окружения в тест JMeter, как property.

3) Параметры Backend Listener

По накоплению метрик перед записью есть пара настроек, они в jmeter.properties

Суть такая - сохранять метрики каждую секунду теста не стоит, будет много метрик.
Оптимально сохранять метрики раз в минуту или раз в 30 сек.

Описал настройки для Backend Listener тут
https://polarnik.github.io/influxdb-bench/#44

https://polarnik.github.io/influxdb-bench/#45

Например тест делает 50 запросов в сек.
Мы хотим отправлять метрики раз в 60 сек.

Значит надо хранить примерно 3000 метрик в очереди
QUEUE_SIZE = 5000 (по умолчанию) - такое значение нас устраивает его хватает

backend_metrics_window_mode=timed 
backend_influxdb.send_interval=60 # было 5
backend_metrics_large_window=5000 # это устраивает нас > 3000

А вот тест делает (с одного агента) уже 200 запросов в сек и мы настраиваем отправку раз в 60 сек.
Значит надо хранить примерно 12000 метрик в очереди перед отправкой.
QUEUE_SIZE = 12000 (увеличиваем)
backend_metrics_window_mode=timed
backend_influxdb.send_interval=60 # было 5
backend_metrics_large_window=12000 # было 5000

4) Сумма по BUILD_ID = сумма сумм по AGENT

Когда метрики записаны с нескольких одновременно работающих агентов, их надо визуализировать.
Тут только есть тонкость, как суммарные метрики считать:
- суммарная интенсивность работы со всех агентов
- суммарное количество ошибок со всех агентов
- их отношение (суммарный процент ошибок за весь тест)
- суммарное количество потоков

Сначала надо посчитать сумму с группировкой по AGENT, a потом по BUILD_ID.
Считать сумму сразу по BUILD_ID не получится в InfluxDB.

То есть все запросы на сумму будут с подзапросами.
Это третий вариант суммирования, описанный в статье
https://habr.com/ru/company/raiffeisenbank/blog/490764/
Using a Jenkinsfile Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
More from @qaload
  1. Sep 30, 2026Привет любители производительности! Если вы ищите что почитать, то вот тут собралась отлич…
  2. Sep 27, 2026Привет! Сделал видео про несколько мониторов и несколько простых инструментов Да и настрои…
  3. Sep 24, 2026Кажется, удача меня любит Чуть базу данных не сломал, но разграничение прав помогло 🍿 Ист…
  4. Sep 23, 2026Привет performance lovers! Недавно слышал совет: делать обработку данных, как можно ближе…
  5. Sep 20, 2026Привет performance lovers! Видео выше сделано, отчасти, потому, что другие люди проложили…
  6. Sep 12, 2026Привет performance lovers! Утилита GitHub cli упростила мою работу на этой неделе: https:/…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →