Maison  >  Article  >  interface Web  >  Script de test Koad amélioré avec des métriques, des balises et des étiquettes personnalisées

Script de test Koad amélioré avec des métriques, des balises et des étiquettes personnalisées

WBOY
WBOYoriginal
2024-07-22 18:32:53780parcourir

Improved koad Test Script with Custom Metrics, Tags, and Labels

L'intégration de métriques personnalisées avec des balises et des étiquettes dans votre script de test de charge k6 fournit des informations plus granulaires et une meilleure organisation de vos données de performances. Cela vous permet de suivre des aspects spécifiques de votre application et d'analyser les performances dans différentes dimensions.

Voici une version améliorée du script de test de charge k6 qui inclut des métriques personnalisées avec des balises et des étiquettes :

import http from 'k6/http';
import { check, sleep } from 'k6';
import { Counter, Trend } from 'k6/metrics';

// Custom metrics with labels
const myCounter = new Counter('my_custom_counter');
const myTrend = new Trend('my_custom_trend');

export let options = {
    vus: 10, // number of virtual users
    duration: '30s', // test duration
    thresholds: {
        'http_req_duration': ['p(95)<500'], // 95% of requests must complete below 500ms
    },
};

export default function () {
    let res = http.get('https://api.yoursite.com/endpoint', {
        tags: { name: 'APIEndpoint' }, // tagging the request
    });

    // Add custom metric with tags
    myCounter.add(1, { tag: 'requests' });
    myTrend.add(res.timings.duration, { tag: 'response_time' });

    // Check the response status and add a tag for success or failure
    let checkResult = check(res, {
        'status was 200': (r) => r.status === 200,
    });

    // Log results with tags
    if (checkResult) {
        myCounter.add(1, { tag: 'success' });
    } else {
        myCounter.add(1, { tag: 'failure' });
    }

    // Additional label for different environments
    myTrend.add(res.timings.duration, { environment: 'production' });

    sleep(1);
}

Explication

  1. Mesures personnalisées avec étiquettes et balises :

    • Mesures de compteur et de tendance : le script définit des métriques personnalisées à l'aide de Compteur et de tendance.
    • Ajout de balises et d'étiquettes : les métriques sont enregistrées avec des balises et des étiquettes pour fournir plus de contexte. Par exemple, des balises sont ajoutées pour distinguer les types de demandes ou les délais de réponse.
  2. Seuils :

    • Seuils de performances : Un seuil est défini pour garantir que 95 % des requêtes sont terminées en moins de 500 ms. Ceci est utile pour surveiller et garantir les SLA.
  3. Demandes taguées :

    • Balises dans les requêtes : chaque requête HTTP est balisée avec une étiquette descriptive, telle que le nom : 'APIEndpoint', pour catégoriser et filtrer les métriques dans Datadog.
  4. Vérifier les résultats avec des balises :

    • Balises conditionnelles : En fonction du résultat de la fonction de vérification, le compteur est incrémenté avec des balises de réussite ou d'échec. Cela aide à faire la distinction entre les demandes réussies et échouées.
  5. Labels Environnement :

    • Contexte de l'environnement : des étiquettes supplémentaires telles que environnement : 'production' sont utilisées pour fournir un contexte sur l'environnement dans lequel le test est exécuté. Ceci est utile pour comparer des métriques dans différents environnements.

Exécuter le script et visualiser dans Datadog

Pour exécuter le script et envoyer les métriques à Datadog :

  1. Exécutez le script :
   k6 run --out datadog load_test.js
  1. Visualisez les métriques :
    • Metrics Explorer : accédez à Metrics Explorer dans Datadog, recherchez vos métriques personnalisées (my_custom_counter et my_custom_trend) et appliquez des filtres à l'aide des balises (requests, Response_time, Success, Failure, Environment).
    • Création d'un tableau de bord : ajoutez ces métriques à un tableau de bord pour visualiser les performances au fil du temps et entre différentes balises.

Conclusion

En améliorant votre script de test de charge k6 avec des métriques, des balises et des étiquettes personnalisées, vous obtenez des informations plus détaillées sur les performances de votre application. Cette approche vous permet de surveiller des aspects spécifiques de votre application, d'identifier les goulots d'étranglement en matière de performances et de prendre des décisions basées sur les données pour améliorer la fiabilité et l'expérience utilisateur.

L'intégration à Datadog fournit une plate-forme robuste pour la surveillance et les alertes en temps réel, vous garantissant ainsi de pouvoir répondre rapidement à tout problème détecté lors des tests de charge.

Bon test et bon suivi !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn