직렬/병렬
1. 직렬/병렬이란?
1) 직렬
- 1차선 도로라고 생각하면됨
2) 병렬
- 다차선 도로
- 다수의 CPU
(발열 문제와 소비전력문제를 해결하기 위해 제조사가 CPU 클럭 속도를 올리는 대신 코어수를 늘림)
- 다수의 서버
2. CPU
1) 병렬화
- 분담할수 있는 처리는 CPU 코어를 늘리면 빨라진다
- 처리시간을 1/N 으로 감소할 수있다
2) 직렬화
- 분담할 수 없는 처리는 CPU 코어를 늘려도 빨라지지 않는다
- 하나의 CPU만 사용하므로 처리시간 변화 없다
- CPU클럭 주파수를 올리면 처리 속도 향상
3. Point
1) 직렬 처리로 속도를 올리는 데는 한계가 있다(하드웨어적 한계)
2) 병렬화를 통해 속도는 빨라지지 않지만 단위 시간당 처리량을 늘릴수 있다
- 병렬 처리에서 합류점, 직렬화 구간, 분기점이 병목 지점이 됨
- 일을 분담후 다시 집약할 때 오버헤드발생, 오버헤드를 감안해서 효과가 있을 때 병렬화 한다
4. 서버에서 사용
1) 웹 서버
- 다수의 이용자가 접속 하기 때문에 복수의 프로세스가 분담해서 병렬처리
- 1프로세스 1스레도
2) AP 서버
- JVM 프로세스는 하나이지만 복수의 스레드가 병렬로 처리
- 1프로세스 4스레드
3) DB 서버
- 오라클 DB에서 클라이언트 요청을 접수하는 서버 프로세스가 클라이언트 접속 수만큼 생성
- 데이터 파일 생성시에 병목 현상이 발생, 메모리에 캐시된 갱신완료 데이터를 HDD에 기록하는 DBWR 프로세스 수를 늘려서 병렬화가능
4) CPU와 스레드
- CPU 코어를 동시에 사용하는 것은 1스레드 뿐
- 하나의 CPU 코어 밖에 없는데 아파치(웹서버) 프로세스를 아무리 늘려도 동시에 실행 되는 건 1프로세스 뿐이다
- 편의점 계산대는 하나, 직원이 여러명이여도 소용없다
'IT_Infra > WebFlow' 카테고리의 다른 글
[IT_Infra] 프로토콜(protocol) (0) | 2016.11.16 |
---|---|
[IT_Infra] OSI 7계층(OSI 참조모델) (0) | 2016.11.16 |
[IT_Infra] From APserver to DB Server(AP서버 에서 DB서버) (0) | 2016.09.29 |
[IT_Infra] From webServer to AP Server(웹서버에서 AP서버) (0) | 2016.09.28 |
[IT_Infra] From PC to WebServer(PC에서 웹서버) (0) | 2016.09.22 |