- Deleted: TNAR, demo-event-log, demo-managed-functions, hello-go, hello-node, k8s, notes-python, pg-list-python, simple-node, simple-python - POSTGRES: removed luceUNDnode.tf (commented-out legacy), stress_log_1.txt, funcs_list.py; disabled stress_destroy_apply.sh (PG lifecycle stress has delete_user bug); added README.md - examples/README.md: updated to reflect current state (sless_service + sless_job)
58 lines
3.5 KiB
Bash
58 lines
3.5 KiB
Bash
#!/bin/bash
|
||
# 2026-03-19 — stress test script: параллельный запуск всех 8 стресс-функций
|
||
BASE="https://sless.kube5s.ru/fn/sless-ffd1f598c169b0ae"
|
||
|
||
echo "=== РАУНД 1: первый холодный запуск ==="
|
||
curl -s -m 35 "$BASE/stress-slow" -d '{"sleep":3}' -H "Content-Type:application/json" > /tmp/r_slow.json &
|
||
curl -s -m 10 "$BASE/stress-divzero" > /tmp/r_divzero.json &
|
||
curl -s -m 40 "$BASE/stress-bigloop" -d '{"n":1000000}' -H "Content-Type:application/json"> /tmp/r_bigloop.json &
|
||
curl -s -m 35 "$BASE/stress-writer" -d '{"rows":3,"prefix":"batch1"}' -H "Content-Type:application/json" > /tmp/r_writer.json &
|
||
curl -s -m 15 "$BASE/stress-go-fast" -d '{"n":15}' -H "Content-Type:application/json" > /tmp/r_go_fast.json &
|
||
curl -s -m 10 "$BASE/stress-go-nil" > /tmp/r_go_nil.json &
|
||
curl -s -m 20 "$BASE/stress-js-async" > /tmp/r_js_async.json &
|
||
curl -s -m 10 "$BASE/stress-js-badenv" > /tmp/r_js_badenv.json &
|
||
wait
|
||
|
||
echo "[slow]: $(cat /tmp/r_slow.json)"
|
||
echo "[divzero]: $(cat /tmp/r_divzero.json)"
|
||
echo "[bigloop]: $(cat /tmp/r_bigloop.json)"
|
||
echo "[writer]: $(cat /tmp/r_writer.json)"
|
||
echo "[go-fast]: $(cat /tmp/r_go_fast.json)"
|
||
echo "[go-nil]: $(cat /tmp/r_go_nil.json)"
|
||
echo "[js-async]: $(cat /tmp/r_js_async.json)"
|
||
echo "[js-badenv]:$(cat /tmp/r_js_badenv.json)"
|
||
|
||
echo ""
|
||
echo "=== РАУНД 2: повторный (горячий кэш) ==="
|
||
curl -s -m 15 "$BASE/stress-bigloop" -d '{"n":2000000}' -H "Content-Type:application/json" > /tmp/r2_bigloop.json &
|
||
curl -s -m 10 "$BASE/stress-go-fast" -d '{"n":20}' -H "Content-Type:application/json" > /tmp/r2_go_fast.json &
|
||
curl -s -m 20 "$BASE/stress-js-async" > /tmp/r2_async.json &
|
||
curl -s -m 35 "$BASE/stress-writer" -d '{"rows":10,"prefix":"batch2"}' -H "Content-Type:application/json" > /tmp/r2_writer.json &
|
||
wait
|
||
echo "[bigloop-2M]: $(cat /tmp/r2_bigloop.json)"
|
||
echo "[go-fast-20]: $(cat /tmp/r2_go_fast.json)"
|
||
echo "[js-async-2]: $(cat /tmp/r2_async.json)"
|
||
echo "[writer-10]: $(cat /tmp/r2_writer.json)"
|
||
|
||
echo ""
|
||
echo "=== РАУНД 3: crash функции с неверными параметрами ==="
|
||
curl -s -m 10 "$BASE/stress-divzero" -d '{"n":100,"d":0}' -H "Content-Type:application/json" > /tmp/r3_dz.json &
|
||
curl -s -m 10 "$BASE/stress-go-nil" -d '{"crash":true}' -H "Content-Type:application/json" > /tmp/r3_nil.json &
|
||
curl -s -m 10 "$BASE/stress-js-badenv" -d '{"crash":true}' -H "Content-Type:application/json" > /tmp/r3_bad.json &
|
||
# divzero с нормальным делителем — должен вернуть результат
|
||
curl -s -m 10 "$BASE/stress-divzero" -d '{"n":42,"d":7}' -H "Content-Type:application/json" > /tmp/r3_ok.json &
|
||
# go-nil без краша — должен вернуть ok
|
||
curl -s -m 10 "$BASE/stress-go-nil" -d '{"crash":false}' -H "Content-Type:application/json" > /tmp/r3_nil_ok.json &
|
||
wait
|
||
echo "[divzero crash]: $(cat /tmp/r3_dz.json)"
|
||
echo "[go-nil crash]: $(cat /tmp/r3_nil.json)"
|
||
echo "[js-badenv crash]: $(cat /tmp/r3_bad.json)"
|
||
echo "[divzero ok 42/7]: $(cat /tmp/r3_ok.json)"
|
||
echo "[go-nil ok]: $(cat /tmp/r3_nil_ok.json)"
|
||
|
||
echo ""
|
||
echo "=== ИТОГ: количество строк в таблице ==="
|
||
curl -s -m 15 "$BASE/pg-table-reader"
|
||
echo ""
|
||
echo "=== DONE ==="
|