Files
EventHubBack/test/tsung/README.md
T

2.4 KiB
Raw Blame History

Tsung — нагрузка EventHub

Профили

Файл Назначение
eventhub_ift_smoke.xml Короткий smoke на IFT после prepare
eventhub_ift.xml Mix: auth_browse 60% + create_flow 40%, фазы warmup/ramp/peak
eventhub_tsung.xml Legacy localhost (не для IFT)
eventhub_http.xml Legacy короткий localhost

Цель: HTTPS api.ift.eventhub.local (+ admin-api.ift.eventhub.local для verify).

Auth path

  1. POST /v1/admin/login (admin-api) — учётка из ift-admin.csv
  2. POST /v1/registeruser.id
  3. GET /v1/admin/users/:id/verification-token — спец. admin-метод
  4. POST /v1/verify
  5. POST /v1/login → user JWT

Подготовка учётки admin

# из /opt/eventhub-ift/.env или локальной копии
cp test/tsung/ift-admin.csv.example test/tsung/ift-admin.csv
# одна строка без комментариев: email;password
printf '%s;%s\n' "$ADMIN_SUPER_EMAIL" "$ADMIN_SUPER_PASSWORD" > test/tsung/ift-admin.csv

ift-admin.csv в .gitignore.

Перед прогоном (хост IFT)

EVENTHUB_REPLICAS=1 bash /opt/eventhub-ift/devops/scripts/ift-loadtest-prepare.sh
# EVENTHUB_REPLICAS=N — больше нод

Оставляет traefik + eventhub×N.

Дех-машина (WSL)

  1. DNS: api.ift.eventhub.local и admin-api.ift.eventhub.local → IP IFT.
  2. sudo apt install tsung
  3. TLS: доверить CA стенда (EventHubDevOps/ift/traefik/certs). Проверка:
    curl -sf https://api.ift.eventhub.local/health
  4. Из корня EventHubBack:
tsung -f test/tsung/eventhub_ift_smoke.xml start
tsung -f test/tsung/eventhub_ift.xml start

Отчёт: ~/.tsung/log/<timestamp>/.

После прогона

bash /opt/eventhub-ift/devops/scripts/ift-loadtest-restore.sh

Настройка интенсивности

В eventhub_ift.xml блок <load>: interarrival и duration фаз.
thinktimeсекунды.

Замечания

  • Каждый VU делает admin login — это нагрузка и на admin-api; при необходимости позже вынести общий admin JWT в csv.
  • Из hot path убраны: dummy refresh, reports/tickets, завышенные thinktime старого eventhub_tsung.xml.