Puntuación Apdex: qué es y cómo se calcula
7 min de lectura
Una puntuación Apdex es un número entre 0 y 1 que indica qué parte de las peticiones fue lo bastante rápida para quien las esperaba. Eliges un tiempo objetivo T: las respuestas hasta T cuentan entero, las que llegan hasta cuatro veces T cuentan la mitad y las más lentas cuentan cero. Un resultado de 1 significa que todas las peticiones cumplieron el objetivo, y 0 que todas fueron demasiado lentas.
| Zona | Tiempo de respuesta | Peso en la puntuación |
|---|---|---|
| Satisfecho (satisfied) | hasta T | 1 |
| Tolerable (tolerating) | más de T, hasta 4T | 0,5 |
| Frustrado (frustrated) | más de 4T | 0 |
Los datos de abajo salen de la documentación y del código fuente de las herramientas, comprobados el 19 de octubre de 2026.
¿Cómo se calcula una puntuación Apdex?
Suma las peticiones satisfechas y la mitad de las tolerables, y divide entre el total. El resultado siempre queda entre 0 y 1.
Apdex(T) = (satisfied + tolerating / 2) / total
La documentación de Apdex de New Relic resuelve un ejemplo con T en 500 ms: de 200 peticiones, 170 terminaron en 500 ms o menos, 20 tardaron entre 500 ms y 2 segundos, y 10 fallaron o tardaron más. Eso da (170 + 20 / 2) / 200 = 0,90 (comprobado el 19 de octubre de 2026).
Un segundo ejemplo muestra por qué la puntuación sirve en una prueba de carga. Supón una ejecución de 10.000 peticiones con T en 300 ms: 8.200 terminan en 300 ms, 1.300 entre 300 ms y 1,2 segundos, y 500 tardan más. El Apdex es (8.200 + 650) / 10.000 = 0,885. La misma ejecución puede mostrar sin problema una media de 280 ms, que por sí sola parece bien y esconde las 500 peticiones de más de un segundo.
¿De dónde viene Apdex?
Apdex, abreviatura de Application Performance Index, es un estándar abierto de un grupo de empresas llamado Apdex Alliance. Peter Sevcik, de NetForecast, fundó la Alliance en 2004.
El artículo de Wikipedia sobre Apdex cita el artículo de Sevcik de 2005 y recoge la regla de 4T. El Apdex Users Group dice ahora que las reglas de los umbrales T y F «se han vuelto flexibles» (comprobado el 19 de octubre de 2026), y las herramientas aprovechan esa libertad.
¿Cómo la calculan JMeter, Artillery y LoadFocus?
Las tres parten de T = 500 ms. Se diferencian en dónde termina la zona tolerable y en qué hacen con las peticiones fallidas, así que una misma ejecución puede dar tres valores algo distintos.
| Herramienta | T por defecto | Tolerable hasta | Peticiones fallidas |
|---|---|---|---|
| Panel HTML de JMeter | 500 ms | 1.500 ms | cuentan como frustradas |
Plugin apdex de Artillery | 500 ms | 4T (2.000 ms) | solo se puntúan las respuestas |
| Página de resultados de LoadFocus | 500 ms, fijo | 4T (2.000 ms) | se clasifican por tiempo de respuesta |
| New Relic APM | se fija por aplicación | 4T | los errores de servidor son frustrados |
JMeter. El informe del panel incluye una tabla APDEX por transacción. Sus valores por defecto son jmeter.reportgenerator.apdex_satisfied_threshold=500 y apdex_tolerated_threshold=1500, así que la zona tolerable acaba en 3T salvo que la cambies, y apdex_per_transaction fija umbrales distintos por sampler. En ApdexSummaryConsumer una muestra fallida suma al total y nunca a las satisfechas o tolerables, de modo que cada fallo baja la puntuación (comprobado el 19 de octubre de 2026).
Artillery. El plugin apdex solo funciona con el motor HTTP y publica los contadores apdex.satisfied, apdex.tolerated y apdex.frustrated. Su código en artillery-plugin-apdex 1.24.0 clasifica cada respuesta por su tiempo total frente a T y 4T, y luego imprime la puntuación con una etiqueta: excellent desde 0,94, good desde 0,85, fair desde 0,70, poor desde 0,49 y unacceptable por debajo. Una petición que nunca recibe respuesta nunca se puntúa (comprobado el 19 de octubre de 2026). Nuestro análisis de Artillery cubre la herramienta en sí.
LoadFocus, que publica este sitio, muestra la puntuación Apdex en la pestaña Insights del resultado de una prueba de carga, junto a un histograma de tiempos de respuesta. T está fijo en 500 ms y la zona tolerable acaba en 2.000 ms; T no se puede cambiar. Cada muestra se clasifica por su tiempo de respuesta, con las partes satisfecha, tolerable y frustrada junto a la puntuación.
¿Cómo se elige el umbral T?
Elige T según lo que esperan los usuarios de esa página o ese endpoint, y fíjalo por transacción si tu herramienta lo permite. Un único T para toda una aplicación mezcla un endpoint de búsqueda rápido y una exportación de informes lenta en un solo número.
Algunas reglas prácticas:
- Parte de un objetivo real. Si ya tienes un objetivo de latencia como «el 95 % de las llamadas de pago en menos de 400 ms», T = 400 ms hace que el Apdex y el objetivo cuenten lo mismo.
- Mantén el mismo T entre ejecuciones. Un Apdex solo se compara con otro medido con el mismo T. Escríbelo como Apdex(0.4) o «Apdex con T = 400 ms» para que nadie compare umbrales distintos.
- Iguala también la zona tolerable. El valor por defecto de JMeter acaba en 3T y los demás en 4T. Antes de comparar un informe de JMeter con otra herramienta, pon
apdex_tolerated_thresholden cuatro veces T. - No ajustes T para que una versión apruebe. Mover T después de una mala ejecución cambia la regla de medir, y la tendencia que seguías desaparece.
¿Qué es una buena puntuación Apdex?
El plugin de Artillery llama excellent a 0,94 o más, good a 0,85-0,94 y poor o peor a todo lo que queda bajo 0,70. Esas etiquetas solo significan algo si T se eligió con honestidad.
Un Apdex de 0,95 con T = 2 segundos puede describir un servicio más lento que un 0,80 con T = 200 ms. Cuando fijes un criterio para publicar una versión, escribe el umbral y la puntuación juntos («Apdex(0.5) de al menos 0,9») y compruébalo junto a un límite de percentil, porque cada uno detecta problemas distintos.
¿Qué oculta Apdex?
Comprime toda la distribución de tiempos de respuesta en tres franjas, así que no puede decir cuán lentas fueron las peticiones frustradas. Una petición de 2,1 segundos y otra de 30 segundos bajan la puntuación exactamente lo mismo.
Por eso funciona mejor junto a otros números:
- Los percentiles muestran cuán lentas son las peticiones lentas. Nuestra guía sobre la latencia de cola explica por qué el percentil 99 importa en cuanto una página llama a varios servicios.
- La tasa de errores detecta fallos que tu herramienta quizá no puntúe. Artillery nunca puntúa peticiones sin respuesta y New Relic cuenta los errores de servidor como frustrados, así que lee el número de errores aparte.
- El tamaño de la muestra importa: New Relic advierte que por debajo de unas 100 peticiones por minuto la puntuación es inestable.
- El sesgo de medición también cuenta. Un generador de carga que espera las respuestas lentas envía menos peticiones en los periodos lentos, y el Apdex parece mejor que la realidad; consulta la coordinated omission.
¿Cómo se usa Apdex en una prueba de carga?
Úsalo como resumen para quien no va a leer un histograma, y deja la decisión de aprobar o suspender en límites explícitos.
Una rutina que funciona:
- Fija T por transacción clave a partir de tu objetivo de latencia.
- Ejecuta la prueba y anota el Apdex con ese T, junto con los percentiles 95 y 99 y la tasa de errores.
- Compara el Apdex con la ejecución anterior con el mismo T. Una caída de 0,93 a 0,86 es una señal clara incluso para alguien de fuera del equipo.
- Haz fallar el build con límites de percentil y de errores, como explica nuestra guía de criterios de aprobación en pruebas de carga, e informa del Apdex al lado.
FAQ
¿Una puntuación Apdex más alta es mejor? Sí. 1,0 significa que todas las peticiones terminaron dentro de T, y 0 que todas superaron el límite tolerable o contaron como frustradas.
¿Cuál es el umbral Apdex por defecto en JMeter?
El panel HTML usa 500 ms para satisfecho y 1.500 ms para tolerable. Se cambian con jmeter.reportgenerator.apdex_satisfied_threshold y apdex_tolerated_threshold.
¿Apdex incluye los errores? Depende de la herramienta. JMeter cuenta las muestras fallidas como frustradas y New Relic hace lo mismo con los errores de servidor, mientras que el plugin de Artillery solo puntúa las peticiones que recibieron respuesta.
¿Puedo comparar puntuaciones Apdex de dos herramientas? Solo si coinciden T, el límite tolerable y el tratamiento de los errores. Si no, compara mejor los percentiles y las tasas de errores de base.
Lecturas relacionadas
- Latencia de cola: qué es y cómo medirla
- Criterios de aprobación en pruebas de carga: cómo fijarlos
- Coordinated omission: qué es y cómo evitarla
- Rendimiento vs latencia: cómo se relacionan bajo carga
- Pruebas de carga con Artillery: análisis de la herramienta
- SLO vs SLA: diferencia, SLI y presupuesto de error
Las afirmaciones técnicas de este artículo no se han revisado de forma independiente.