veza/docs/PERFORMANCE_BASELINE.md
senke 1318a53a64
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
chore(release): v0.931 — Cursor (cursor-based pagination, performance baseline)
2026-03-02 12:35:49 +01:00

1.6 KiB

Performance Baseline — Veza API

Version : v0.931 Objectif : Documenter les latences P50/P95/P99 des endpoints critiques pour détecter les régressions.

Méthodologie

  1. Démarrer l'API en mode profiling : pprof est exposé si ENABLE_PPROF=true
  2. Exécuter un load test (k6 ou Go) sur les endpoints critiques
  3. Mesurer latences via Prometheus (http_request_duration_seconds) ou pprof

Endpoints critiques à monitorer

Endpoint Méthode Description
/api/v1/auth/login POST Login utilisateur
/api/v1/auth/register POST Inscription
/api/v1/tracks GET Liste des tracks (cursor pagination v0.931)
/api/v1/tracks/search GET Recherche
/api/v1/users/me GET Profil utilisateur
/api/v1/marketplace/orders POST Création commande
/api/v1/notifications GET Notifications
/api/v1/conversations GET Conversations
/api/v1/analytics/me GET Analytics
/health GET Health check

Cibles v1.0 (voir roadmap v0.951)

  • P99 < 500ms sur tous les endpoints critiques à 500 req/s
  • GET /tracks : pagination cursor-based (v0.931) garantit des performances constantes quelle que soit la page

Commande pprof

# Profiler 30s pendant un load test
go tool pprof -http=:8081 http://localhost:8080/debug/pprof/profile?seconds=30

Métriques Prometheus

Les middlewares de monitoring exposent http_request_duration_seconds avec les labels method, path, status. Utiliser des histogram quantiles pour P50/P95/P99.