zeroserve의 Caddy 호환성 확보: 처리량 3배 향상 및 지연 시간 70% 단축

고성능 HTTPS 서버 zeroserve가 Caddy 호환 모드를 도입하여, Caddyfile 설정을 eBPF 및 네이티브 머신 코드로 JIT 컴파일해 io_uring 기반으로 고속 실행합니다. AMD Ryzen 7 3700X 기반 벤치마크 결과, zeroserve는 Caddy 대비 처리량이 약 3배(38,948 req/s) 향상되고, 지연 시간은 약 70% 단축(p50 기준 1.45ms)되는 압도적인 성능 향상을 입증했습니다.

AI 요약

사용자 공간(userspace)에서 고성능 eBPF 스크립트를 실행하는 HTTPS 서버인 zeroserve가 Caddy 호환 모드를 새롭게 지원합니다. 이 기능은 사용자가 기존 Caddyfile을 제공하면 이를 eBPF로 JIT 컴파일한 뒤, 다시 x86_64 또는 ARM64 네이티브 기계어로 변환하여 io_uring 이벤트 루프 상에서 실행하는 방식입니다. AMD Ryzen 7 3700X 환경에서 진행된 HTTPS 역방향 프록시 테스트 결과, zeroserve는 기존 Caddy에 비해 처리량은 약 3배 증가하고 지연 시간은 70% 감소하여 Nginx와 대등하거나 이를 능가하는 압도적인 성능을 보였습니다. 또한 튜링 완전한(Turing-complete) eBPF의 이점을 살려 Caddyfile 내에서 사용자 정의 C 코드로 작성된 플러그인을 직접 호출할 수 있는 뛰어난 확장성도 갖추었습니다. 이번 업데이트는 개발자들에게 Caddy의 편리한 설정 편의성과 초고속 네이티브 성능을 동시에 제공하는 획기적인 전환점이 될 것입니다.

핵심 인사이트

  • Caddy 대비 약 3배의 처리량 달성: HTTPS 역방향 프록시 벤치마크에서 Caddy가 12,529 req/s를 기록한 반면, zeroserve-clang은 38,948 req/s를 기록하며 처리량이 약 3.1배 향상되었습니다.
  • 지연 시간 70% 단축: p50 지연 시간 기준 Caddy는 4.74ms가 소요되었으나 zeroserve-clang은 1.45ms로 단축되었으며, p99 지연 시간 또한 13.11ms에서 3.91ms로 대폭 줄어들었습니다.
  • 메모리 효율성 극대화: peak RSS 메모리 측정 시 Caddy가 67.4 MiB를 소비한 데 반해, zeroserve-clang은 30.9 MiB만을 사용하여 메모리 사용량을 절반 이하로 줄였습니다.
  • Nginx 성능 추월: 기존의 고성능 대명사인 Nginx(37,424 req/s, p50 1.57ms, peak RSS 25.7 MiB)와 비교해서도 zeroserve-clang이 처리량과 지연 시간 면에서 미세하게 앞서는 우수한 성능을 보였습니다.
  • 최신 릴리스 정보: 이번 기능이 포함된 zeroserve v0.2.11 버전은 Heyang Zhou에 의해 2026년 6월 14일 발표되었습니다.

주요 디테일

  • 2단계 JIT 컴파일: Caddyfile 설정을 읽어 들여 eBPF 코드로 변환한 다음, 이를 x86_64 및 ARM64 아키텍처에 맞는 최적화된 네이티브 기계어로 JIT(Just-In-Time) 컴파일하여 실행 효율을 극대화합니다.
  • io_uring 이벤트 루프: 리눅스의 고성능 비동기 시스템 콜 프레임워크인 io_uring을 기반으로 설계되어 I/O 병목 현상을 최소화합니다.
  • 커스텀 eBPF 플러그인 연동: 사용자는 Caddyfile 설정 안에서 zeroserve_call 지시어를 사용해 커스텀 eBPF 미들웨어 코드를 호출할 수 있습니다.
  • AWS SigV4 인증 구현 예시: S3 호환 버킷으로의 프록시 통신을 위해 io.su3.aws-sigv4.c 플러그인을 컴파일하고, Caddyfile 라우트 설정 내에서 바로 AWS SigV4 서명(access_key_id 및 secret_access_key 활용)을 적용하는 실용적인 예제가 제시되었습니다.
  • 간편한 마이그레이션: curl을 사용하여 아키텍처별 바이너리를 즉시 다운로드한 뒤, ./zeroserve --caddy /etc/caddy/Caddyfile 명령어 실행만으로 기존 Caddy 환경을 대체할 수 있습니다.

향후 전망

  • 고성능 웹서버 시장의 판도 변화: 편리한 설정 인터페이스를 갖춘 Caddy가 성능 문제로 고심하던 대규모 트래픽 서비스 레이어에서 zeroserve를 통한 고성능 대체가 활발해질 것으로 전망됩니다.
  • 유저스페이스 eBPF 활용성 확대: 전통적인 커널 레벨 제어를 넘어 유저스페이스 네트워크 애플리케이션 최적화 도구로서 eBPF 기술의 가치가 더욱 주목받을 것입니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...