시스템 콜 제로: io_uring을 사용한 고성능 웹 서버 구축
2025-08-22
이 글에서는 고성능 웹 서버 구축의 발전 과정을 설명합니다. 초기 pre-forking부터 select/poll, epoll을 거쳐, 마침내 io_uring을 사용하여 시스템 콜 제로를 달성했습니다. 저자는 io_uring을 사용하여 모든 작업을 비동기적으로 커널 큐에 추가함으로써 빈번한 시스템 콜 오버헤드를 피하는 실험적인 웹 서버인 tarweb을 개발했습니다. kTLS와 디스크립터리스 파일을 결합하여 성능을 더욱 향상시켰습니다. 메모리 관리 및 io_uring의 안전성 문제와 같은 과제가 남아 있지만, 이 프로젝트는 고병렬 환경에서 웹 서버 성능을 크게 향상시킬 수 있는 가능성을 보여줍니다.
개발
고성능 웹 서버