Skip to content

Feat/redirect latency baseline - #16

Merged
Yentec merged 5 commits into
mainfrom
feat/redirect-latency-baseline
Jun 15, 2026
Merged

Feat/redirect latency baseline#16
Yentec merged 5 commits into
mainfrom
feat/redirect-latency-baseline

Conversation

@Yentec

@Yentec Yentec commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Description

Baseline redirect latency measurement using k6

Changes

  • Added tests/load/redirect.js — k6 script (100 VUs, ramp 0→100→0 over 60s), redirects: 0 to measure only the server response, summaryTrendStats including p(99), informational thresholds not enforced in CI
  • Added tests/load/ to ESLint ignores — k6 script is outside the TypeScript project scope; __ENV is a k6 global not recognized by the TypeScript parser
  • Made rate limit maximum configurable via RATE_LIMIT_MAX environment variable (default: 100) — in src/config/env.ts + src/app.ts; required for local benchmarking without being capped at 100 req/min per IP
  • Updated .env.example with RATE_LIMIT_MAX (commented, documented benchmark value)
  • Added docs/adr/0007-redirect-latency-baseline.md — documents methodology, measured results, and confirms ADR 0005 assumption (async tracking → latency bounded by cache performance)
  • Updated README.md — added Performance section with reproducible Docker benchmark commands and metrics table; added ADR 0006 + ADR 0007 to Decisions; removed "Refresh-token-reuse detection" from roadmap (already implemented in PR Feat/refresh token reuse detection #15)

Validation

  • Benchmark: 91,936 requests, 0 failures, p50=45 ms / p95=88 ms / p99=103 ms / ~1,530 req/s
  • Clean typecheck
  • Clean lint
  • No regression in existing tests (RATE_LIMIT_MAX default=100, unchanged behavior in tests)
  • RATE_LIMIT_MAX=1000000 locally → rate limiting effectively disabled for benchmarking → 0% failures

Closes #11

@Yentec
Yentec merged commit 96ebe60 into main Jun 15, 2026
2 checks passed
@Yentec
Yentec deleted the feat/redirect-latency-baseline branch June 15, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Load testing baseline with k6

1 participant