0Pricing
Load Testing & Performance Benchmarking (JMeter & k6) · Lección

Interpretación de métricas de k6

Comprenda las métricas detalladas y las etiquetas personalizadas de k6, así como la forma de visualizarlas para obtener información útil.

Interpretación de métricas de k6 es una lección gratuita de Load Testing & Performance Benchmarking (JMeter & k6) en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Load Testing & Performance Benchmarking (JMeter & k6), y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Load Testing & Performance Benchmarking (JMeter & k6) incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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's default function 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=1200ms

What 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, and data_sent/received give 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!

Preguntas frecuentes

¿La lección «Interpretación de métricas de k6» es gratis?

Sí — el texto completo de «Interpretación de métricas de k6» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Load Testing & Performance Benchmarking (JMeter & k6), actualiza a CoddyKit PRO. El curso de Load Testing & Performance Benchmarking (JMeter & k6) incluye 4 lecciones en total.

¿Qué aprenderé en «Interpretación de métricas de k6»?

Comprenda las métricas detalladas y las etiquetas personalizadas de k6, así como la forma de visualizarlas para obtener información útil. Practicas Load Testing & Performance Benchmarking (JMeter & k6) con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Load Testing & Performance Benchmarking (JMeter & k6)?

No se requiere experiencia previa. Load Testing & Performance Benchmarking (JMeter & k6) en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Interpretación de métricas de k6»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Load Testing & Performance Benchmarking (JMeter & k6)?

Sí. Cada lección de Load Testing & Performance Benchmarking (JMeter & k6) incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Herramientas de monitorización del servidor
  2. Análisis de resultados de JMeter
  3. Interpretación de métricas de k6
  4. Correlación de métricas para encontrar las causas raíz
← Volver a Load Testing & Performance Benchmarking (JMeter & k6)