C10K 문제
1. C10K 란
- 하드웨어 성능상 문제가 없어도 클라이언트 수가 많아지면 서버가 고장나는 문제
2. 문제
- 클라이언트 접속마다 프로세스를 생성하면 OS 파일 디스크립터나 프로세스 수가 최대치
- 1프로세스당 소비 메모리크기는 작지만 이것이 쌓여서 문제
- 프로세스 수가 만 단위 이상되어 콘텍스트 스위치 등에 사용되는 CPU 사용률 문제
- 프로세스 수가 많으면 프로세스를 관리하는 OS 커널 내의 관리용 데이터 크기 문제
3. 해결책
1) 논 블로킹 I/O(non-blocking I/O)
- 1프로세스 다수 접속 처리(학원 선생같음)
- 각 클라이언트와 통신시에 정말로 필요한 경우만 통신해서 변경
'IT_Infra > Architecture' 카테고리의 다른 글
[IT_Infra] 배타적제어(1) - 정의 (0) | 2016.10.25 |
---|---|
[IT_Infra] 큐(queue) (1) | 2016.10.18 |
[IT_Infra] 동기/ 비동기(synchronous/asynchronous) (0) | 2016.10.12 |
[IT_Infra] monolithic kernel(모놀리식) vs micro kernel(마이크로) (0) | 2016.09.19 |
[IT_Infra] OS kernel (0) | 2016.09.19 |