Files
Cibello-app/docs/24-lasttest.md
T
2026-08-05 19:21:11 +07:00

1.4 KiB
Raw Blame History

Lasttest referensvärden

Skript: scripts/loadtest.mjs (autocannon, 25 samtidiga anslutningar, 10 s per scenario). Kör mot valfri miljö: API_BASE_URL=https://… node scripts/loadtest.mjs Trösklar: p99 < 500 ms, 0 fel, > 100 req/s på receptlistan. UNDERKÄND ger exitkod 1 (CI-vänligt).

Senaste körning (dev-container, 1 process, lokal Postgres)

Scenario req/s p50 p99 fel
healthz (baslinje) 12040 1 ms 6 ms 0
GET /v1/recipes (lista + i18n-upplösning) 754 31 ms 74 ms 0
GET /v1/recommendations/what-to-eat (tyngsta läsvägen) 135 173 ms 290 ms 0

Kommentar: healthz visar ren Fastify-overhead. Receptlistan inkluderar i18n-titelupplösning mot översättningstabellen. Rekommendationsvägen är medvetet tyngst (lager + FEFO + motor + förklaringar) ~126 req/s på en utvecklingscontainer motsvarar med god marginal förväntad lanseringstrafik; skala horisontellt (fler API-containrar) före databasen.

Vid produktionssättning

  1. Kör mot staging bakom TLS förvänta ~1020 % lägre värden (TLS + nät).
  2. Kör om efter varje kapacitetspåverkande ändring (nya index, tunga endpoints).
  3. Rate limit: produktion har 300 req/min/IP lasttest kräver RATE_LIMIT_MAX-överstyrning.