33.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
를 비활성화하면/proc/diskstats 파일에 더 이상 장치의 I/
O 통계가 표시되지 않습니다./sys/diskstats
파일의 내용은sar
또는iostats와 같은 I/O 툴 모니터링을 위한 I/O 정보의 소스입니다
. 따라서 장치에 대한iostats
매개변수를 비활성화하면 더 이상 장치가 I/O 모니터링 툴 출력에 표시되지 않습니다.max_sectors_kb
I/O 요청의 최대 크기(KB)를 지정합니다. 기본값은
512
KB입니다. 이 매개 변수의 최소 값은 스토리지 장치의 논리적 블록 크기에 따라 결정됩니다. 이 매개변수의 최대 값은max_hw_sectors_kb
값에 따라 결정됩니다.max_sectors_kb
는 항상 최적의 I/O 크기 및 내부 삭제 블록 크기의 배수가 되도록 권장합니다. 두 매개 변수 중 하나가 스토리지 장치에서 지정되지 않은 경우 매개 변수에logical_block_size
값을 사용합니다.nomerges
-
대부분의 워크로드는 요청 병합으로 이점을 제공합니다. 그러나 병합을 비활성화하면 디버깅에 유용할 수 있습니다. 기본적으로
nomerges
매개 변수는 병합을 활성화하는0
으로 설정됩니다. 간단한 일회성 병합을 비활성화하려면nomerges
를1
로 설정합니다. 모든 유형의 병합을 비활성화하려면nomerges
를2
로 설정합니다. nr_requests
-
대기 중인 I/O에서 허용되는 최대 수입니다. 현재 I/O 스케줄러가
없는
경우 이 수는 줄일 수 있습니다. 그렇지 않으면 숫자를 늘리거나 줄일 수 있습니다. optimal_io_size
- 일부 스토리지 장치는 이 매개 변수를 통해 최적의 I/O 크기를 보고합니다. 이 값이 보고되면 Red Hat은 가능한 경우 최적의 I/O 크기와 일치하는 I/O와 관련된 I/O를 실행하는 것이 좋습니다.
read_ahead_kb
순차적 읽기 작업 중에 운영 체제가 미리 읽을 수 있는 최대 킬로바이트 수를 정의합니다. 결과적으로 다음 순차 읽기를 위해 커널 페이지 캐시 내에 필요한 정보가 이미 있으므로 읽기 I/O 성능이 향상됩니다.
장치 매퍼가 높은
read_ahead_kb
값을 활용하는 경우가 많습니다. 매핑할 각 장치에 대한128
KB는 좋은 시작 지점이지만, 디스크의read_aheads_kb
값을 요청하기 위해최대 128KB의
용량이 큰 파일을 순차적으로 읽는 애플리케이션 환경에서 성능이 향상될 수 있습니다.rotational
-
일부 솔리드 스테이트 디스크는 솔리드 상태를 올바르게 알리지 않으며 기존 회전 디스크로 마운트됩니다. 스케줄러에서 불필요한 find-reducing 논리를 비활성화하려면 수동으로
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 은 구성하려는 장치의 이름입니다.