26.6. 일반 블록 장치 튜닝 매개변수
여기에 나열된 일반 튜닝 매개변수는 /sys/block/sdX/queue/
디렉터리에서 사용할 수 있습니다.
다음 나열된 튜닝 매개변수는 I/O 스케줄러 튜닝과 분리되어 있으며 모든 I/O 스케줄러에 적용할 수 있습니다.
add_random
-
일부 I/O 이벤트는
/dev/random
의 엔트로피 풀에 기여합니다. 이러한 기여에 따른 오버헤드가 측정 가능한 경우 이 매개변수를0
으로 설정할 수 있습니다. iostats
기본적으로
iostats
는 활성화되어 있으며 기본값은1
입니다.iostats
값을0
으로 설정하면 장치에 대한 I/O 통계 수집이 비활성화되어 I/O 경로가 있는 적은 양의 오버헤드가 제거됩니다.iostats
를0
으로 설정하면 특정 NVMe 솔리드 스테이트 스토리지 장치와 같은 매우 높은 성능 장치의 성능이 약간 향상될 수 있습니다. 벤더가 지정된 스토리지 모델에 달리 지정하지 않는 한iostats
가 활성화된 상태로 두는 것이 좋습니다.iostats
를 비활성화하면 장치의 I/O 통계가 더 이상/proc/diskstats
파일에 표시되지 않습니다./sys/diskstats
파일의 내용은sar
또는iostats
와 같은 I/O 툴을 모니터링하기 위한 I/O 정보의 소스입니다. 따라서 장치에 대한iostats
매개변수를 비활성화하면 장치가 더 이상 I/O 모니터링 툴 출력에 표시되지 않습니다.max_sectors_kb
I/O 요청의 최대 크기를 킬로바이트 단위로 지정합니다. 기본값은
512
KB입니다. 이 매개 변수의 최소값은 스토리지 장치의 논리 블록 크기에 따라 결정됩니다. 이 매개변수의 최대값은max_hw_sectors_kb
값으로 결정됩니다.Red Hat은
max_sectors_kb
가 항상 최적의 I/O 크기와 내부 삭제 블록 크기를 여러 개일 것을 권장합니다. 스토리지 장치에서 0개 또는 지정되지 않은 경우 매개 변수에logical_block_size
값을 사용합니다.nomerges
-
대부분의 워크로드는 요청 병합의 이점을 제공합니다. 그러나 병합을 비활성화하는 것은 디버깅 목적에 유용할 수 있습니다. 기본적으로
nomerges
매개변수는0
으로 설정되어 병합을 활성화합니다. 간단한 one-hit 병합을 비활성화하려면nomerges
를1
로 설정합니다. 모든 유형의 병합을 비활성화하려면nomerges
를2
로 설정합니다. nr_requests
-
대기 중인 I/O의 최대 허용 번호입니다. 현재 I/O 스케줄러가
none
인 경우 이 수만 줄일 수 있습니다. 그러지 않으면 수를 늘리거나 줄일 수 있습니다. optimal_io_size
- 일부 스토리지 장치는 이 매개변수를 통해 최적의 I/O 크기를 보고합니다. 이 값이 보고되는 경우 Red Hat은 애플리케이션이 가능한 경우 최적의 I/O 크기에 맞게 I/O를 발행하는 것이 좋습니다.
read_ahead_kb
순차적 읽기 작업 중에 운영 체제가 미리 읽을 수 있는 최대 킬로바이트 수를 정의합니다. 결과적으로 다음 순차적 읽기를 위해 필요한 정보가 커널 페이지 캐시에 이미 있으므로 읽기 I/O 성능이 향상됩니다.
장치 매퍼는 종종 높은
read_ahead_kb
값의 이점을 얻습니다. 각 장치가 매핑될 수 있는128
KB는 좋은 시작점이지만, 디스크의 큐의max_sectors_kb
값을 요청하도록read_ahead_kb
값을 늘리면 대용량 파일을 순차적으로 읽는 애플리케이션 환경에서 성능이 향상될 수 있습니다.rotational
-
일부 솔리드 스테이트 디스크는 솔리드 스테이트 상태를 올바르게 알리지 않으며 기존 회전 디스크로 마운트됩니다. 자동
회전
값을0
으로 수동으로 설정하여 스케줄러에서 불필요한 검색 논리를 비활성화합니다. rq_affinity
-
rq_affinity
의 기본값은1
입니다. 발급된 CPU 코어의 동일한 CPU 그룹에 있는 하나의 CPU 코어에서 I/O 작업을 완료합니다. I/O 요청을 발행한 프로세서에서만 완료를 수행하려면rq_affinity
를2
로 설정합니다. 언급된 두 가지 기능을 비활성화하려면0
으로 설정합니다. scheduler
-
특정 스토리지 장치에 대한 스케줄러 또는 스케줄러 기본 설정 순서를 설정하려면
/sys/block/devname/queue/scheduler
파일을 편집합니다. 여기서 devname 은 구성할 장치의 이름입니다.