Show Table of Contents
6.4.2. 데드라인 I/O 스케줄러
데드라인 I/O 스케줄러는 요청에 대해 약속된 대기 시간을 제공하려 합니다. 요청이 I/O 스케줄러에 도달해야만 대기 시간 측정이 시작됨에 유의합니다 (애플리케이션이 요구 디스크립터가 해제될 때 까지 대기하며 수면 상태로 될 수 있으므로 이는 중요한 차이입니다). 기본값으로 쓰기 보다 읽기가 우선합니다. 이는 애플리케이션이 읽기 I/O를 차단할 가능성이 더 높기 때문입니다.
데드라인은 배치로 I/O를 보냅니다. 배치는 LBA 오름 차순으로 (편도 엘리베이터) 증가하는 읽기 또는 쓰기 I/O의 연속적 순서입니다. 각 배치를 처리한 후 I/O 스케줄러는 쓰기 요청이 장시간 사용되지 않았는지를 확인하고 읽기 또는 쓰기의 새로운 배치를 시작할 지에 대한 여부를 결정합니다. 요청 FIFO 목록은 각 배치를 시작할 때 만료된 요청이 있는지를 확인하고 그 후에 배치의 데이터 방향만을 확인합니다. 따라서 쓰기 배치가 선택되고 만료된 요청이 있을 경우 해당 읽기 요청은 쓰기 배치가 완료될 때 까지 실행되지 않습니다.
조정 가능한 매개 변수
fifo_batch- 이는 단일 배치에서 실행할 읽기 또는 쓰기 수를 지정합니다. 기본값은
16입니다. 이를 높은 값으로 설정하면 처리량은 향상되지만 대기 시간은 길어질 수 있습니다. front_merges- 워크로드가 전면 병합을 생성하지 않는 경우 이 매개 변수를
0으로 설정할 수 있습니다. 이 체크의 오버헤드를 측정하지 않는 한 기본 설정 (1) 그대로 두는 것이 좋습니다. read_expire- 이 매개 변수로 읽기 요청이 실행되는 시간을 밀리초 단위로 설정할 수 있습니다. 기본값은
500밀리초 (0.5초)로 설정되어 있습니다. write_expire- 이 매개 변수로 쓰기 요청이 실행되는 시간을 밀리초 단위로 설정할 수 있습니다. 기본값은
5000밀리초 (5초)로 설정되어 있습니다. writes_starved- 이 매개 변수는 단일 쓰기 배치 처리 전 처리할 수 있는 읽기 배치 수를 제어합니다. 이 값을 높게 설정할 수록 읽기가 우선이 됩니다.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.