I/O 스케줄러의 종류
1. The NOOP scheduler
- 리눅스 I/O 스케줄러의 가장 간단한 형태로 우선순위 없이 FIFO 으로 처리된다.
- 큰 캐싱 시스템을 가진 스토리지 환경에 적합, solid-state storage 에 적합하다.
2. The Deadline scheduler
- 들어오는 요청의 처리 완료 시간을 기준으로 우선적으로 처리한다.
- 리얼타임 어플리케이션, 데이타베이스, 디스크 집약 어플리케이션에 효과적이다.
3. The Anticipatory scheduler [2.6.33 Linux에서 제거 됨]
- 현재 작성하고 있는 블록의 인접한 블록을 우선적으로 처리한다.
- 싱글 IDE/SATA 디스크에서 웹서버, 파일 서버, 데스크탑에서 최고의 포퍼먼스를 보여줍니다.
4. The Completely Fair Queuing (CFQ) scheduler [2.6.18 부터 Linux 기본값으로 사용됨]
- 대부분의 읽기에 대해서 최악의 경우를 최소화하는 스케줄러로 대부분 사용합니다.
- 다중 사용자 환경으로 광범위한 어플리케이션에서 효과적이다.
* 스케줄링 확인 방법
# cat /sys/block/*DEV*/queue/scheduler
* 스케줄링 적용 방법
# echo SCHEDNAME > /sys/block/*DEV*/queue/scheduler
티스토리 뷰
Linux I/O 스케줄러의 종류
Linux 운영 상황에 따른 스케줄러 사용 Tip
1. 일반적인 운영 상황
만약 SSD를 사용한다면 NOOP을 사용하지만, 그외 경우에는 CFQ 알고리즘을 선택하는것이 성능상 이점이 있다.
2. 가상화 호스트 운영체제로 사용될경우 ( Type 2 는 아니지만 Xen 같은 경우 )
이건 검즘이 필요한 부분인데 Xenserver의 경우 default로 NOOP을 사용한다고 한다.
이유는 Domain 0 에서 Disk I/0 관련 전처리를 하기 때문에 운영체제 리눅스 기반 하이퍼 바이저에서 다시 한번 알고리즘을 적용할 필요가 없다고 판단되기 때문입니다.
3. iscasi를 사용하는 경우
NOOP이 유리하다고 하는데 2번 이유와 비슷하다 대신 그 처리 부분이 연결되는 분산 파일 시스템의 meta나 DS서버에서 알고리즘이 적용도기 때문에 두번 적용하지 않는게 좋다고 한다.
※ 주는데로 믿지 않고 실험해보자
'Linux' 카테고리의 다른 글
아파치 2 최적화 (웹 서비스의 성능 최적화) (0) | 2015.07.10 |
---|---|
리눅스 삭제된 파일 복구 (0) | 2015.06.02 |
symbolic link (0) | 2015.05.21 |
gcc 업데이트 (0) | 2015.05.20 |
Kickstart file analysis (0) | 2015.03.31 |