목록 보기
고전 돌아보기, C10K 문제 (C10K Problem)
백엔드

고전 돌아보기, C10K 문제 (C10K Problem)

올리브영
올리브영
2023년 11월 30일

두줄요약

1만 명 동시 접속을 처리하는 C10K 문제의 배경과 병목 원인을 설명했습니다. non-blocking I/O와 이벤트 기반 기술이 어떻게 해결책이 되었는지 정리했습니다.

핵심 내용

  • C10K 문제는 1만 명 동시 접속을 처리하는 서버 구현 과제
  • 단순한 프로세스 fork나 1만 개 스레드 방식의 한계로 메모리, 컨텍스트 스위칭, 폴링 경합 발생
  • 해결의 핵심은 non-blocking I/O와 asynchronous I/O, 그리고 epoll, kqueue, select, IOCP 같은 이벤트 기반 기술
  • nginx, Node.js, Java NIO, Netty 같은 기술이 이 흐름 위에서 동작하며 대규모 동시 처리의 기반 형성

적용해볼 점

  • 동시 접속 증가 시 스레드 수만 늘리는 방식의 한계 점검
  • 이벤트 루프와 비동기 I/O 기반 구조 검토
  • 언어와 프레임워크가 내부적으로 어떤 I/O 모델을 쓰는지 확인

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...