티스토리 뷰

Linux I/O 스케줄러의 종류

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 운영 상황에 따른 스케줄러 사용 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함