Interprétation des métriques de k6
Comprenez les métriques détaillées de k6, les balises personnalisées et la manière de les visualiser pour en tirer des informations.
Interprétation des métriques de k6 est une leçon Load Testing & Performance Benchmarking (JMeter & k6) gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Load Testing & Performance Benchmarking (JMeter & k6), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Load Testing & Performance Benchmarking (JMeter & k6) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What are k6 Metrics?
When you run a k6 performance test, it generates various metrics. These are numerical values that describe your system's behavior under load.
Understanding these metrics is crucial for identifying performance bottlenecks, verifying service level agreements (SLAs), and ensuring your application can handle expected traffic.
Key Metric: Request Duration
One of the most important built-in k6 metrics is http_req_duration. This measures the total time it takes for an HTTP request to complete.
- It starts when the request is sent.
- It ends when the full response is received.
- It directly reflects the response time users experience.
Key Metrics: VUs & Iterations
Other fundamental metrics help you understand the load:
vus(Virtual Users): Shows the number of virtual users currently active during the test.iterations: Counts how many times your test script'sdefaultfunction has been executed.
These metrics help you see if your test is applying the intended load.
Key Metrics: Data Transfer
Understanding network usage is also vital. k6 provides metrics for data transfer:
data_sent: The total number of bytes sent by k6 during the test.data_received: The total number of bytes received by k6.
These metrics help analyze bandwidth consumption and identify potentially large responses.
Understanding Metric Aggregations
k6 doesn't just give raw values; it aggregates them. Common aggregations include:
avg(average)min(minimum)max(maximum)p(XX)(percentile, e.g.,p(90),p(95))
Percentiles are especially important as they represent the experience of a certain percentage of your users, ignoring extreme outliers.
Beyond Built-in: Custom Metrics
While k6's built-in metrics are powerful, you might need to track specific application-level events or durations. This is where custom metrics come in.
You can create your own metrics to gain deeper insights into your system's unique behavior. Common types are Counter, Gauge, Rate, and Trend.
Adding a Custom Metric
Here's how to add a Trend custom metric to measure the duration of a specific operation within your script. This helps track performance beyond just HTTP requests.
import { Trend } from 'k6/metrics';
import http from 'k6/http';
import { sleep } from 'k6';
const myCustomTrend = new Trend('custom_operation_duration');
export default function () {
const startTime = Date.now();
http.get('https://test.k6.io/contacts.php');
const endTime = Date.now();
myCustomTrend.add(endTime - startTime); // Add duration in milliseconds
sleep(1);
}Categorizing with k6 Tags
Tags are key-value pairs that provide metadata for your metrics. They allow you to categorize and filter your results for more granular analysis.
k6 automatically adds tags like url and status. You can also add custom tags to differentiate metrics for different parts of your application or specific user flows.
Applying Custom Tags
Custom tags are very useful for breaking down metrics. For example, you can tag requests based on the page or API endpoint they hit, allowing you to analyze performance per feature.
import http from 'k6/http';
import { sleep } from 'k6';
export default function () {
// Tagging requests to different pages
http.get('https://test.k6.io/', {
tags: { page_name: 'homepage' },
});
http.get('https://test.k6.io/news.php', {
tags: { page_name: 'news_page' },
});
sleep(1);
}Visualizing Your k6 Metrics
While k6's console output is useful, visualizing your metrics makes analysis much easier. Tools like Grafana (often paired with InfluxDB or Prometheus) are excellent for this.
k6 can export results directly to these systems, allowing you to create dashboards that show trends, spikes, and performance regressions over time.
Metric Interpretation Challenge
Consider the k6 output snippet below:
http_req_duration{status=200, scenario=default, my_tag=checkout}......: avg=350ms min=100ms med=300ms p(90)=550ms p(95)=600ms max=1200msWhat does p(95)=600ms primarily tell you about the checkout requests?
Recap: Interpreting k6 Metrics
You've learned how to interpret k6's powerful metrics!
- Built-in metrics like
http_req_duration,vus, anddata_sent/receivedgive foundational insights. - Aggregations, especially percentiles, provide a realistic view of user experience.
- Custom metrics and tags allow for deep, granular analysis of specific application behaviors.
- Visualization tools are essential for making sense of complex test results.
Mastering metric interpretation is key to successful performance testing!
Questions Fréquemment Posées
La leçon « Interprétation des métriques de k6 » est-elle gratuite ?
Oui — le texte complet de « Interprétation des métriques de k6 » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Load Testing & Performance Benchmarking (JMeter & k6), passe à CoddyKit PRO. Le cours Load Testing & Performance Benchmarking (JMeter & k6) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Interprétation des métriques de k6 » ?
Comprenez les métriques détaillées de k6, les balises personnalisées et la manière de les visualiser pour en tirer des informations. Tu pratiques Load Testing & Performance Benchmarking (JMeter & k6) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Load Testing & Performance Benchmarking (JMeter & k6) ?
Aucune expérience préalable n'est requise. Load Testing & Performance Benchmarking (JMeter & k6) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Interprétation des métriques de k6 » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Load Testing & Performance Benchmarking (JMeter & k6) ?
Oui. Chaque leçon Load Testing & Performance Benchmarking (JMeter & k6) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Outils de supervision côté serveur
- Analyse des résultats de JMeter
- Interprétation des métriques de k6
- Corréler les métriques pour trouver les causes profondes