32.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
으로 설정되어 병합이 가능합니다. 간단한 일회성 병합을 비활성화하려면nomerges
를1
로 설정합니다. 모든 유형의 병합을 비활성화하려면nomerges
를2
로 설정합니다. nr_requests
-
대기 중인 I/O의 허용된 최대 수입니다. 현재 I/O 스케줄러가
none
이면 이 수를 줄일 수 있습니다. 그렇지 않으면 수를 늘리거나 줄일 수 있습니다. optimal_io_size
- 일부 스토리지 장치는 이 매개변수를 통해 최적의 I/O 크기를 보고합니다. 이 값이 보고되면 Red Hat은 가능한 경우 최적의 I/O 크기와 일치하는 I/O와 관련된 I/O를 실행하는 것이 좋습니다.
read_ahead_kb
연속 읽기 작업 중에 운영 체제가 미리 읽을 수 있는 최대 킬로바이트 수를 정의합니다. 결과적으로 다음 순차 읽기의 커널 페이지 캐시에 필요한 정보가 이미 있으므로 읽기 I/O 성능이 향상됩니다.
장치 매퍼는 종종 상위
read_ahead_kb
값의 이점을 얻습니다. 각 장치를 매핑할 수 있는128
KB는 좋은 시작점이지만, 디스크의 queue의max_sectors_kb
값을 요청하도록read_ahead_kb
값을 늘리면 대용량 파일을 순차적으로 읽을 수 있는 애플리케이션 환경에서 성능이 향상될 수 있습니다.rotational
-
일부 솔리드 스테이트 디스크는 솔리드 스테이트 상태를 올바르게 공개하지 않으며 기존 교체 디스크로 마운트됩니다. 스케줄러에서 불필요한 검색 논리를 비활성화하려면 rotation 값을
0
으로 수동으로 설정합니다. rq_affinity
-
rq_affinity
의 기본값은1
입니다. 실행된 CPU 코어의 동일한 CPU 그룹에 있는 하나의 CPU 코어에서 I/O 작업을 완료합니다. I/O 요청을 발급한 프로세서에서만 완료를 수행하려면rq_affinity
를2
로 설정합니다. 언급된 두 가지 능력을 비활성화하려면0
으로 설정하십시오. scheduler
-
특정 스토리지 장치에 대한 스케줄러 또는 스케줄러 기본 순서를 설정하려면
/sys/block/devname/queue/scheduler
파일을 편집합니다. 여기서 devname 은 구성하려는 장치의 이름입니다.