Performance Budget : Définition, Exemples, Intégration CI

Performance budget est un set de limites sur métriques comme taille bundle JS, LCP, INP, CLS — enforced en CI pour prévenir les regressions.

Qu'est-ce qu'un performance budget ?

Un performance budget est un set de limites explicites sur les métriques web performance — tailles bundle, poids page, Core Web Vitals (LCP, INP, CLS), counts requêtes, poids scripts third-party — auquel l'équipe s'engage. Enforced en CI, le budget fait échouer les builds qui dépassent les limites, prévenant les regressions performance d'être shippées.

Sans budget, le perf rot est invisible. Un budget rend le coût visible.

Catégories performance budget

TypeCe qu'il limiteExemple
Quantity-basedNombre ressources≤ 50 HTTP requests
Size-basedBytes transférésJS < 200KB gzipped
Time-basedMétriques performanceLCP < 2.5s sur 4G
Score-basedScores LighthouseLighthouse Perf ≥ 90
Rule-basedAnti-patterns spécifiquesPas de JS render-blocking

Exemple performance budget

[
  {
    "path": "/*",
    "timings": [{ "metric": "interactive", "budget": 3000 }],
    "resourceSizes": [
      { "resourceType": "script", "budget": 200 },
      { "resourceType": "image", "budget": 500 },
      { "resourceType": "total", "budget": 1500 }
    ]
  }
]

Baselines recommandées

MétriqueBon budgetStretch goal
LCP< 2.5s< 1.8s
INP< 200ms< 100ms
CLS< 0.1< 0.05
Bundle JS (gzipped)< 200KB< 100KB
Poids total page< 1.5MB< 1MB
HTTP requests< 50< 30
Score Lighthouse Perf≥ 90≥ 95
Requests third-party< 10< 5

Outils pour enforcing

OutilComment ça enforce
Lighthouse CIExécute Lighthouse sur chaque PR
SpeedCurveTrack budget over time
Bundle AnalyzerVisualise composition bundle
size-limitNPM package ; CI échoue if exceed
WebPageTest CITesting field-grade
CalibrePerformance monitoring + budgeting
Lighthouse (manuel)Dev local
Cloudflare ObservatoryTests synthétiques

Où commencer

  1. Auditer la performance actuelle
  2. Définir budget à la baseline actuelle
  3. Ajouter Lighthouse CI
  4. Faire échouer les PRs qui dépassent le budget
  5. Itérer : tightener budget

Best practices performance budget

  • Commencer avec performance actuelle.
  • Budget par type de page.
  • Échouer loud en CI.
  • Tracker trends.
  • Tester sur devices lents.
  • Tracker impact third-party séparément.
  • Owner par métrique.
  • Visible en dashboard.

Pièges courants

  • Budgets aspirationnels.
  • Pas de follow-up sur regressions.
  • Variance per-PR.
  • Testing lab-only.
  • Oublier third-party.
  • Seulement page-level.
  • Pas de budget pour nouvelles pages.

Performance budget vs SLI/SLO

AspectPerformance budgetSLI/SLO
Quand mesuréBuild time (lab)Production (field)
Enforced viaCI échouant PRsAlertes + error budgets
OwnerÉquipe frontendSRE / platform
Meilleur à prévenirRegressions code-sideIncidents infra

FAQ : performance budget

Bon budget starter ?

LCP < 2.5s, JS < 200KB gzipped, Lighthouse Perf ≥ 90.

Différence avec Core Web Vitals ?

CWV sont les métriques. Performance budget = engagement de l'équipe.

Puis-je budgeter par page ?

Oui.

Lab ou field data pour budget ?

Les deux.

Si PR dépasse budget pour bonne raison ?

Augmenter budget consciemment ou optimiser.

À quelle fréquence reviewer budgets ?

Trimestriellement.

SPAs ont-ils besoin de budgets différents ?

Oui — bundles JS plus grands permis, mais TTI/INP critiques.

Enforce performance budget avec LoadFocus

LoadFocus exécute des audits Lighthouse depuis 25+ régions on schedule. Inscrivez-vous sur loadfocus.com/signup.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×