Load tests
This commit is contained in:
33
Makefile
33
Makefile
@@ -160,6 +160,39 @@ test-all: eunit ## Запустить ВСЕ тесты (EUnit + API)
|
||||
@echo " ВСЕ ТЕСТЫ ПРОЙДЕНЫ!"
|
||||
@echo "========================================"
|
||||
|
||||
# ============================================================================
|
||||
# LOAD TESTING
|
||||
#3. Мониторинг во время нагрузочного теста
|
||||
#Во время теста полезно следить за состоянием ноды:
|
||||
#
|
||||
#Через Docker (если приложение в контейнере):
|
||||
#bash
|
||||
#docker stats eventhub
|
||||
#docker exec eventhub /app/bin/eventhub remote_console
|
||||
#Внутри консоли Erlang можно выполнить:
|
||||
#
|
||||
#erlang
|
||||
#observer:start(). % графический мониторинг
|
||||
#recon:proc_count(5). % топ-5 процессов по памяти (если установлен recon)
|
||||
# ============================================================================
|
||||
tsung-test: ## Запустить нагрузочный тест Tsung
|
||||
@echo "Запуск нагрузочного теста Tsung..."
|
||||
@mkdir -p logs/tsung
|
||||
@tsung -f test/tsung/eventhub_http.xml -l logs/tsung start
|
||||
@echo "Отчёт: logs/tsung/*/report.html"
|
||||
|
||||
wrk-register: ## Нагрузочный тест регистрации (wrk2)
|
||||
@wrk -t4 -c100 -d30s -t100 -s test/wrk/scripts/wrk_register.lua http://localhost:8080/v1/register
|
||||
|
||||
wrk-search: ## Нагрузочный тест поиска (wrk2)
|
||||
@TOKEN=$$(curl -s -X POST http://localhost:8080/v1/register \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"email":"wrktest@test.com","password":"pass"}' | \
|
||||
grep -o '"token":"[^"]*"' | cut -d'"' -f4); \
|
||||
wrk -t4 -c100 -d30s -R200 \
|
||||
-H "Authorization: Bearer $$TOKEN" \
|
||||
http://localhost:8080/v1/search?type=event\&q=test
|
||||
|
||||
# ============================================================================
|
||||
# CODE QUALITY
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user