본문 바로가기
LINUX

리눅스 스케줄러(linux Scheduler

by Rainbound-IT 2023. 2. 10.
반응형

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서버에서 알고리즘이 적용도기 때문에 두번 적용하지 않는게 좋다고 한다. 

 

※ 주는데로 믿지 않고 실험해보자

 

 

출처

https://duksoo.tistory.com/entry/Linux-IO-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC%EC%9D%98-%EC%A2%85%EB%A5%98-%EC%99%80-%EC%9A%B4%EC%98%81%ED%99%98%EA%B2%BD%EC%97%90-%EB%94%B0%EB%A5%B8-%EC%B5%9C%EC%A0%81%ED%99%94-%EB%B0%A9%EB%B2%95

 

Linux I/O 스케줄러의 종류 와 운영환경에 따른 최적화 방법

Linux I/O 스케줄러의 종류I/O 스케줄러의 종류 1. The NOOP scheduler - 리눅스 I/O 스케줄러의 가장 간단한 형태로 우선순위 없이 FIFO 으로 처리된다. - 큰 캐싱 시스템을 가진 스토리지 환경에 적합, solid-

duksoo.tistory.com

 

https://www.cloudbees.com/blog/linux-io-scheduler-tuning

 

Improving Linux System Performance with I/O Scheduler Tuning

Let's adjust a Linux I/O scheduler to get the best performance out of a Linux system. We'll measure the impact of those changes with `pgbench`.

www.cloudbees.com

 

반응형

'LINUX' 카테고리의 다른 글

linux crontab 간단 사용법  (0) 2023.03.08
ubuntu python 삭제  (4) 2023.02.14
TCPDUMP 명령어  (0) 2023.02.09
vmstat 사용법  (0) 2023.02.02
[Linux] Buddy system  (0) 2023.02.01

댓글