PHP 웹 서버, 복잡한 스택을 대체하는 고성능 아키텍처 공개 — AI 생성 일러스트AI 일러스트
인프라 도구

PHP 웹 서버, 복잡한 스택을 대체하는 고성능 아키텍처 공개

I built the fastest PHP webserver in the world

Hacker News9월 18일 발표 · 2분

Qbixserver는 Nginx+FPM 등 복잡한 스택을 대체하는 올인원 PHP 웹 서버입니다. 프로세스 포크 방식을 활용하여 기존 환경에서 압도적인 동시 접속 처리 능력을 제공합니다.

세 줄 요약Hacker News 원문 기반
  1. 핵심은 메모리 효율성 극대화입니다. Copy-on-Write(COW) 방식을 적용해 워커당 메모리를 120KB로 낮춰, 제한된 자원으로 수많은 프로세스를 구동할 수 있습니다.
  2. 이 구조 덕분에 기존 프레임워크 환경에서도 높은 성능을 유지하며, 별도의 DB나 메시징 서버 없이 WebSocket 등 다양한 기능을 통합 지원합니다.
  3. 커널 모듈이나 C 확장 없이 순수 사용자 영역(userland) PHP로 구현되어 배포가 간편하고, 블로킹 I/O 환경에서도 뛰어난 성능 우위를 입증했습니다.

Qbixserver는 Nginx + fpm 등 기존의 복잡하고 여러 컴포넌트로 구성된 스택을 대체하도록 설계된 올인원 PHP 웹 서버입니다. 이 서버는 `pcntl_fork()`를 활용하여 워커 프로세스를 생성하며, Copy-on-Write(COW) 방식을 적용해 메모리 효율성을 극대화하는 것이 핵심 메커니즘입니다.

이 아키텍처에서는 모든 프레임워크가 부모 프로세스에 로드된 후 워커를 생성합니다. COW 덕분에 각 워커는 매우 낮은 비용으로 구동될 수 있어, 예를 들어 200MB의 메모리로도 수많은 워커(400개)를 확보할 수 있습니다. 이는 기존 fpm 방식과는 근본적인 차이를 보입니다.

성능 테스트 결과에 따르면, I/O 바운드 환경(50ms 데이터베이스 쿼리 기준)에서 php-fpm이 4개 워커로 78 req/s를 기록한 반면, Qbix는 100개의 워커를 사용하여 1,060 req/s의 처리량을 달성했습니다. 이 서버는 커널 모듈이나 C 확장 없이 순수 사용자 영역(userland) PHP만으로 구현되었습니다.

원문Hacker News · I built the fastest PHP webserver in the world

평일 아침 메일로 받아 보기 ›틀린 곳 알리기