Durante los cinco años de trayectoria del evento P99 CONF, varios expertos han señalado las limitaciones del uso exclusivo del percentil 99 (P99) para medir el rendimiento. En la última edición, Adrian Cockcroft, una de las figuras más reconocidas en ingeniería de rendimiento, dejó claro que el P99 no es suficiente para capturar la complejidad en la latencia de sistemas modernos, aunque nunca lo declaró explícitamente.
Cockcroft, con décadas de experiencia en empresas como Sun Microsystems, Netflix, eBay y Amazon, ha dedicado su carrera a diseñar y escalar sistemas resilientes y altamente eficientes. Su trayectoria incluye hitos tan destacados como el análisis del rendimiento del kernel Solaris, optimización de multiprocesadores, migraciones a la nube y desarrollo de herramientas como Chaos Monkey para pruebas de resiliencia.
En una charla con la analista Rachel Stephens, experta en tecnología y análisis, Cockcroft ofreció una visión profunda sobre la evolución de la ingeniería del rendimiento y el impacto de la inteligencia artificial en este campo.
De la interpretación del kernel a la codificación rápida de herramientas
En los primeros días en Sun, analizar problemas de rendimiento implicaba interpretar métricas del sistema con un conocimiento limitado. «La gente miraba la salida del comando vmstat y solo podía especular sobre lo que significaban esos números, ya que la documentación no era clara», recuerda Cockcroft. Consciente de esta laguna, decidió estudiar el código fuente del kernel para entender el origen y significado real de estas métricas, lo que le llevó a escribir dos libros fundamentales sobre rendimiento y gestión de recursos en sistemas Solaris.
Cuatro décadas después, aunque existen muchas herramientas avanzadas para el rastreo end-to-end, él aún busca lo que las herramientas tradicionales no detectan. «Los datos suelen parecer correctos, pero el sistema no se comporta bien. Mi enfoque es encontrar nuevas formas de analizar la información, profundizando más allá de los promedios y percentiles para estudiar las distribuciones completas y descubrir fenómenos ocultos».
Actualmente Cockcroft utiliza la llamada «vibe coding», un enfoque ágil que le permite crear rápidamente herramientas personalizadas para analizar anomalías sin necesidad de dominar múltiples lenguajes o bibliotecas, algo que considera clave para avanzar en su trabajo.
El foco en los picos, no en los percentiles
Durante más de diez años, Cockcroft ha reflexionado sobre la distribución de los tiempos de respuesta en sistemas web. Mientras que muchas organizaciones se centran en métricas como el P99, él señala que esta medida única es insuficiente para captar la diversidad de comportamientos latentes.
Ejemplifica con histogramas que muestran dos picos: uno rápido asociado a aciertos en caché y otro lento debido a fallos que requieren procesamiento adicional. La variación en la tasa de aciertos modifica la altura de los picos sin cambiar sus posiciones históricas, lo que hace que métricas agregadas como la media o el P99 fluctúen sin reflejar el verdadero cambio subyacente.
«Las métricas de percentil no funcionan bien para entender la latencia y rendimiento de servicios modernos», enfatiza Cockcroft, apuntando a que se necesita una visión más granular basada en la identificación y seguimiento de múltiples picos en la distribución.
Para superar esta limitación, desarrolló una herramienta de código abierto implementada en R, asistido por ChatGPT para acelerar la codificación. Esta herramienta automatiza el análisis para detectar un número arbitrario de picos en las distribuciones y monitorear su evolución en el tiempo. Esta solución permite un análisis detallado que escapa a las limitaciones del análisis clásico basado en percentiles.
Más detalles sobre esta herramienta y sus fundamentos estadísticos pueden encontrarse en el artículo «Percentiles Don’t Work» y en su charla «A Tale of Two Histograms» disponibles online.
Mirando hacia el futuro de la ingeniería del rendimiento
Para finalizar, Cockcroft aconseja a los equipos que trabajen en sistemas de alto rendimiento adoptar un enfoque gradual en el análisis: comenzar con una visión macro para identificar áreas problemáticas y luego profundizar hasta examinar solicitudes individuales en detalle.
«Es como un microscopio que usabas de niño: primero lo enfocas con el aumento más bajo (10x), luego subes a 100x para observar pequeños detalles y finalmente a 1000x para detalles extremos», explica.
Su carrera demuestra el valor de crear herramientas que revelen problemas ocultos y ahora, con la incorporación de la inteligencia artificial, se espera que las próximas generaciones de ingenieros puedan identificar y resolver problemas de rendimiento de manera aún más efectiva y rápida.
El próximo P99 CONF, evento virtual gratuito dedicado a la optimización del rendimiento, se celebrará los días 21 y 22 de octubre, ofreciendo una plataforma para compartir técnicas, herramientas y experiencias en esta apasionante área.