디스크 I / O에는 엘리베이터라는 것이 있습니다. 디스크 하위 시스템은 플래터 전체에 디스크 헤드가 튀는 것을 피하려고합니다. 헤드가 디스크 내부에서 외부로 이동하고 다시 요청 된 I / O를 수행 할 수 있도록 I / O 요청 (예 : 장벽으로 금지되지 않은 경우)을 다시 주문합니다.
두 번째는 I / O 요청 병합입니다. 단시간 내에 파일의 다른 부분에 액세스하는 많은 요청이있는 경우, I / O 서브 시스템은 여러 개의 분리 된 요청을 발행하는 대신 모든 데이터를 한 번에 가져 오려고 시도합니다.
튜닝이 진행되는 한. 응용 프로그램 작성자라면 할 수있는 일이 많습니다. fsync () 등을 사용할 수있을 때마다 큰 순차적 I / O를 발행 할 수 있습니다. 데이터가 플래터에 있는지 확인해야 할 때.
sysadmin이고 2 개의 앱의 데이터 요청이 도약하고 파일을 순차적으로 읽으려고 시도하는 경우 (예 : 2 개의 DVD가 병렬로 트랜스 코딩되는 경우) 예, 미리 읽기를 늘리면 도움이됩니다. 그렇지 않으면 튜닝을 수행하기 전에 I / O 패턴 및 크기를 살펴보고 RAID 레벨 (있는 경우) 및 기타 요소를 고려해야합니다. 실제 병목 현상이 무엇인지 살펴보십시오. 튜닝을 시작하기 전에 추측하기 어려울 수 있으며 실제로 시스템을 제한하는 것은 무엇입니까?