OpenResty Inc.의 창립자 겸 CEO, 이춘 장
일부 온라인 nginx
프로세스가 메모리, CPU 시간 또는 디스크 I/O 리소스를 너무 많이 차지하고 있습니까? 온라인에서 무작위로 발생하는 매우 느린 요청이 있는데, 오프라인에서는 재현할 수 없나요? 신비로운 NGINX 오류 로그 메시지를 보셨지만 실제 원인에 대한 단서가 없나요? 운영 환경에서 무작위적인 nginx
프로세스 충돌과 코어 덤프로 인해 문제가 생기나요?
NGINX Conf 2018 에서의 세션에서 Yichun은 NGINX와 OpenResty의 맥락에서 다양한 실제 성능 및 기타 동작 문제를 조사하고, 동적 추적 및 기타 고급 사후 디버깅 기술을 사용하여 프로덕션 서비스를 중단하지 않고 온라인에서 원인을 빠르게 찾아내는 방법을 설명합니다.
Yichun은 GDB, SystemTap, BCC/eBPF와 같은 다양한 오픈소스 디버깅 프레임워크의 장단점을 설명하고 비교하며, 프로덕션 환경에서 Docker 컨테이너를 추적하는 데 따르는 고유한 과제에 대해서도 간략하게 논의합니다. 그런 다음 그는 이러한 디버깅 기술을 통합하고 특히 마이크로서비스 메시나 CDN 네트워크와 같은 트래픽 게이트웨이 클러스터와 같은 분산형 온라인 시스템의 맥락에서 사용성, 확장성, 확대성을 새로운 수준으로 개선한 새로운 OpenResty Trace 플랫폼을 소개합니다. 그는 OpenResty Trace가 제공하는 범용 디버깅 언어를 사용하여 사용자 정의 추적 도구를 작성하는 방법의 예를 포함했습니다.
Yichun은 또한 실제 사례를 사용하여 NGINX 코어용 OpenResty Trace와 LuaJIT을 사용한 OpenResty 코어에서 고급 추적 도구를 사용하는 방법을 보여줍니다. 그는 FastCGI, uWSGI 또는 NGINX Unit을 통해 NGINX 또는 OpenResty 뒤에서 실행되는 PHP, Python, Perl, Ruby와 같은 다른 기존 백엔드 서비스를 추적하는 방법을 다룹니다. 그는 NGINX, OpenResty 또는 이들의 백엔드 애플리케이션에서 접근하는 PostgreSQL, Memcached, Redis와 같은 추적 데이터 서비스의 예를 들어 설명합니다.