Yichun Zhang, fundador e CEO da OpenResty Inc.
Alguns processos nginx
online estão consumindo muita memória, tempo de CPU ou recursos de E/S de disco? Tem algumas solicitações muito lentas que ocorrem aleatoriamente online, mas não podem ser reproduzidas offline? Viu algumas mensagens misteriosas de log de erro do NGINX, mas não tem ideia das causas reais? Incomodado com algumas falhas aleatórias de processos nginx
e core dumps em produção?
Em sua sessão na NGINX Conf 2018 , Yichun investiga vários problemas de desempenho e outros problemas comportamentais do mundo real no contexto do NGINX e do OpenResty, e explica como usar rastreamento dinâmico e outras tecnologias avançadas de depuração post-mortem para identificar rapidamente as causas on-line sem interromper os serviços de produção.
Yichun descreve e compara as vantagens e desvantagens de várias estruturas de depuração de código aberto, como GDB, SystemTap e BCC/eBPF, com uma breve discussão sobre os desafios exclusivos do rastreamento de contêineres Docker em produção. Em seguida, ele apresenta a nova plataforma OpenResty Trace, que unifica essas tecnologias de depuração e melhora sua usabilidade, escalabilidade e extensibilidade a um novo nível, especialmente no contexto de sistemas on-line distribuídos, como uma malha de microsserviços ou clusters de gateway de tráfego, como em uma rede CDN. Ele inclui exemplos de escrita de ferramentas de rastreamento personalizadas usando as linguagens de depuração universais fornecidas pelo OpenResty Trace.
Yichun também usa exemplos reais para demonstrar o uso de ferramentas de rastreamento avançadas no OpenResty Trace para o núcleo NGINX e o núcleo OpenResty com LuaJIT. Ele aborda o rastreamento de outros serviços de backend tradicionais executados por trás do NGINX ou OpenResty via FastCGI, uWSGI ou NGINX Unit, como PHP, Python, Perl e Ruby. Ele conclui com exemplos de serviços de rastreamento de dados como PostgreSQL, Memcached e Redis acessados pelo NGINX, OpenResty ou seus aplicativos de backend.