Files
2026-08-05 19:21:11 +07:00

26 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.