performance-benchmarking

Par elophanto · elophanto

Mesurez, analysez et améliorez les performances du système grâce aux tests de charge, à l'optimisation des Core Web Vitals et à la planification de capacité. Adapté de msitarzewski/agency-agents.

npx skills add https://github.com/elophanto/elophanto --skill performance-benchmarking

Déclencheurs

  • benchmark de performance
  • test de charge
  • test de stress
  • Core Web Vitals
  • vitesse de page
  • temps de réponse
  • test de débit
  • test de scalabilité
  • optimisation des performances
  • planification de capacité
  • optimisation LCP
  • budget de performance
  • test d'endurance
  • SLA de performance
  • analyse des goulots d'étranglement

Instructions

Performance Baseline et Exigences

  • Établir les baselines de performance actuels sur tous les composants du système en utilisant shell_execute
  • Définir les exigences de performance et les objectifs SLA avec alignement des parties prenantes
  • Identifier les parcours utilisateur critiques et les scénarios de performance à fort impact
  • Configurer l'infrastructure de monitoring de performance et la collecte de données
  • Utiliser browser_navigate pour la mesure des Core Web Vitals

Stratégie de Test Complète

  • Concevoir des scénarios de test couvrant le test de charge, stress, pic et endurance
  • Créer une simulation réaliste des données de test et du comportement utilisateur
  • Planifier la configuration de l'environnement de test qui reflète les caractéristiques de production
  • Implémenter une méthodologie d'analyse statistique pour des résultats fiables

Analyse de Performance et Optimisation

  • Exécuter un test de performance complet avec collecte détaillée des métriques
  • Identifier les goulots d'étranglement par analyse systématique des résultats
  • Fournir des recommandations d'optimisation avec analyse coût-bénéfice
  • Valider l'efficacité de l'optimisation par comparaisons avant/après
  • Utiliser knowledge_write pour stocker les baselines de performance et les patterns d'optimisation

Optimisation des Core Web Vitals

  • Optimiser pour Largest Contentful Paint (LCP < 2,5s)
  • Optimiser pour First Input Delay (FID < 100ms)
  • Optimiser pour Cumulative Layout Shift (CLS < 0,1)
  • Implémenter le code splitting, le lazy loading et l'optimisation CDN
  • Surveiller les données Real User Monitoring (RUM) aux côtés des métriques synthétiques
  • Utiliser web_search pour les techniques d'optimisation de performance et les benchmarks

Standards Méthodologiques

  • Toujours établir une baseline de performance avant les tentatives d'optimisation
  • Utiliser l'analyse statistique avec intervalles de confiance pour les mesures
  • Tester sous des conditions de charge réalistes simulant le comportement utilisateur réel
  • Considérer l'impact de performance de chaque recommandation d'optimisation
  • Prioriser la performance perçue par l'utilisateur sur les métriques techniques seules
  • Tester sur différentes conditions réseau et capacités d'appareil

Livrables

Modèle de Rapport d'Analyse de Performance

# Rapport d'Analyse de Performance [Nom du Système]

## Résultats des Tests de Performance
**Test de Charge** : [Performance en charge normale avec métriques détaillées]
**Test de Stress** : [Analyse du point de rupture et comportement de récupération]
**Test de Scalabilité** : [Performance sous scénarios de charge croissante]
**Test d'Endurance** : [Stabilité long terme et analyse des fuites mémoire]

## Analyse des Core Web Vitals
**Largest Contentful Paint** : [Mesure LCP avec recommandations d'optimisation]
**First Input Delay** : [Analyse FID avec améliorations d'interactivité]
**Cumulative Layout Shift** : [Mesure CLS avec améliorations de stabilité]
**Speed Index** : [Optimisation de la progression du chargement visuel]

## Analyse des Goulots d'Étranglement
**Performance Base de Données** : [Analyse d'optimisation de requêtes et pooling de connexions]
**Couche Application** : [Hotspots de code et utilisation des ressources]
**Infrastructure** : [Analyse de performance serveur, réseau et CDN]
**Services Tiers** : [Évaluation de l'impact des dépendances externes]

## Analyse du ROI de Performance
**Coûts d'Optimisation** : [Effort d'implémentation et besoins en ressources]
**Gains de Performance** : [Améliorations quantifiées dans les métriques clés]
**Impact Métier** : [Amélioration de l'expérience utilisateur et impact de conversion]
**Économies de Coûts** : [Optimisation d'infrastructure et gains d'efficacité]

## Recommandations d'Optimisation
**Haute Priorité** : [Optimisations critiques avec impact immédiat]
**Priorité Moyenne** : [Améliorations significatives avec effort modéré]
**Long Terme** : [Optimisations stratégiques pour la scalabilité future]

---
**Statut de Performance** : [CONFORME/NON-CONFORME aux exigences SLA]
**Évaluation de Scalabilité** : [Prêt/Nécessite du travail pour la croissance projetée]

Configuration k6 Load Test

export const options = {
  stages: [
    { duration: '2m', target: 10 },   // Warm up
    { duration: '5m', target: 50 },   // Normal load
    { duration: '2m', target: 100 },  // Peak load
    { duration: '5m', target: 100 },  // Sustained peak
    { duration: '2m', target: 200 },  // Stress test
    { duration: '3m', target: 0 },    // Cool down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500'],
    http_req_failed: ['rate<0.01'],
  },
};

Métriques de Succès

  • 95% des systèmes respectent ou dépassent constamment les exigences de SLA de performance
  • Les scores Core Web Vitals atteignent une note « Bonne » pour les utilisateurs du 90e percentile
  • L'optimisation de performance délivre une amélioration de 25% dans les métriques clés d'expérience utilisateur
  • La scalabilité du système supporte 10x la charge actuelle sans dégradation significative
  • La surveillance de performance prévient 90% des incidents liés à la performance

Vérifier

  • La suite de tests a été réellement exécutée et le code de sortie/output est capturé dans la transcription, pas seulement rédigée
  • Les nombres de réussite/échec sont rapportés en tant que nombres (ex. « 42 réussis, 0 échoués »), pas « tous les tests réussissent »
  • Les nouveaux tests couvrent au moins un cas négatif/limite en plus du happy path ; les cas sont énumérés
  • Le delta de couverture ou les modules affectés sont rapportés si le projet suit la couverture ; un nombre baseline est cité
  • Pour les tests flaky ou sensibles au timing, l'exécution a été répétée au moins 3 fois et le taux de réussite est rapporté
  • Tous les tests ignorés ou xfail introduits sont énumérés avec une raison et un lien vers un problème/TODO

Skills similaires