2.4 KiB
2.4 KiB
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
POST /v1/admin/login(admin-api) — учётка изift-admin.csvPOST /v1/register→user.idGET /v1/admin/users/:id/verification-token— спец. admin-методPOST /v1/verifyPOST /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)
- DNS:
api.ift.eventhub.localиadmin-api.ift.eventhub.local→ IP IFT. sudo apt install tsung- TLS: доверить CA стенда (
EventHubDevOps/ift/traefik/certs). Проверка:
curl -sf https://api.ift.eventhub.local/health - Из корня
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.