Rastreo y solución de problemas de NGINX, OpenResty y sus backends

Yichun Zhang, fundador y director ejecutivo de OpenResty Inc.

¿Tiene algunos procesos nginx en línea que consumen demasiada memoria, tiempo de CPU o recursos de E/S de disco? ¿Tiene algunas solicitudes muy lentas que ocurren aleatoriamente en línea, pero no se pueden reproducir fuera de línea? ¿Ha visto algunos mensajes misteriosos de registro de errores de NGINX pero no tiene pistas sobre las causas reales? ¿Le molestan algunos fallos aleatorios del proceso nginx y volcados de núcleo en producción?

En su sesión en NGINX Conf 2018 , Yichun investiga varios problemas de rendimiento y otros comportamientos del mundo real en el contexto de NGINX y OpenResty, y explica cómo usar el seguimiento dinámico y otras tecnologías avanzadas de depuración post mortem para identificar rápidamente las causas en línea sin interrumpir los servicios de producción.

Yichun describe y compara las ventajas y desventajas de varios marcos de depuración de código abierto como GDB, SystemTap y BCC/eBPF, con un breve análisis de los desafíos únicos del rastreo de contenedores Docker en producción. Luego presenta la nueva plataforma OpenResty Trace, que unifica estas tecnologías de depuración y mejora su usabilidad, escalabilidad y extensibilidad a un nuevo nivel, especialmente en el contexto de sistemas en línea distribuidos como una malla de microservicios o clústeres de puertas de enlace de tráfico como en una red CDN. Incluye ejemplos de escritura de herramientas de seguimiento personalizadas utilizando los lenguajes de depuración universales proporcionados por OpenResty Trace.

Yichun también utiliza ejemplos reales para demostrar el uso de herramientas de seguimiento avanzadas sobre OpenResty Trace para el núcleo NGINX y el núcleo OpenResty con LuaJIT. Cubre el seguimiento de otros servicios backend tradicionales que se ejecutan detrás de NGINX o OpenResty a través de FastCGI, uWSGI o NGINX Unit, como PHP, Python, Perl y Ruby. Concluye con ejemplos de seguimiento de servicios de datos como PostgreSQL, Memcached y Redis a los que acceden NGINX, OpenResty o sus aplicações backend.

Próximos pasos