2.4 KiB
2.4 KiB
Load Testing (k6)
Готовый скрипт: scripts/load/portal_k6.js.
1) Установка k6
Ubuntu/Debian:
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt update && sudo apt install -y k6
2) Smoke тест (быстрая проверка)
k6 run scripts/load/portal_k6.js \
-e BASE_URL=https://stend.4mont.ru \
-e USERNAME=ruslan \
-e PASSWORD='YOUR_PASSWORD' \
-e SERVICE_SLUGS=vmmanager,termidesk \
-e PROFILE=smoke
3) Нормальная нагрузка
k6 run scripts/load/portal_k6.js \
-e BASE_URL=https://stend.4mont.ru \
-e USERS_CSV='user1:pass1;user2:pass2;user3:pass3' \
-e SERVICE_SLUGS=vmmanager,termidesk,sayt-mont5 \
-e PROFILE=load \
-e HEARTBEATS=3 \
-e THINK_TIME=1
4) Стресс
k6 run scripts/load/portal_k6.js \
-e BASE_URL=https://stend.4mont.ru \
-e USERS_CSV='user1:pass1;user2:pass2;user3:pass3;user4:pass4' \
-e SERVICE_SLUGS=vmmanager,termidesk,sayt-mont5 \
-e PROFILE=stress
5) Ключевые параметры
BASE_URL— адрес портала.USERNAME/PASSWORD— одиночный пользователь.USERS_CSV— набор пользователейu1:p1;u2:p2.SERVICE_SLUGS— список slug через запятую.PROFILE—smoke|load|stress.HEARTBEATS— сколькоtouchв итерации.THINK_TIME— пауза между итерациями.CLOSE_SESSION=0— не закрывать сессию в конце итерации.
6) Что смотреть в результате
http_req_duration(p95/p99)http_req_failedflow_errorsopen_success,open_rejected,limit_redirects,touch_rejected
7) Важное
- Запускайте сначала
smoke, потомload, и только затемstress. - Для реалистичного теста используйте несколько пользователей, иначе упретесь в лимиты по сессиям одного пользователя.