저는 I/O 세계의 몇 가지 기본 사항을 이해하려고 노력하고 있습니다. 제가 궁금한 점은 사람들이 표준 HDD의 디스크 I/O 속도에 대해 이야기할 때 속도가 물리적 디스크 수준에서 언급되는 것인지, 아니면 논리 파티션을 기반으로 하는 것인지입니다. 제가 이런 질문을 하는 이유도 제가 조사해본 많은 곳에서 특히 리눅스에서 디스크에 대한 질문이 나오던데, 그 결과나 답변에서 사람들은 대개 시스템에 존재하는 마운트 포인트를 언급하는 경우가 많았고, 양측 모두 합의한 내용이 있었습니다. 도달했다. 디스크와 파티션이라는 용어가 같은 의미로 사용되어 혼란스럽습니다.
저는 디스크 I/O 속도가 중요한 일부 분산 애플리케이션을 사용하고 있습니다. 이제 여러 마운트 지점이 있는 물리적 디스크가 생겼습니다. 따라서 여기에서 최대 디스크 I/O가 70MB/s인 경우 모든 설치를 합친 것을 의미합니까? 애플리케이션이 푸시할 수 있더라도 70MB/s만 달성할 수 있습니다(속도는 파티션 기반이 아닌 물리적 디스크임을 의미). 이보다 더 빠르게 여러 마운트 지점에 더 많은 데이터를 병렬로 보낼 수 있습니까? 아니면 파티션당 최대 70MB/s를 얻을 수 있습니까? 나는 그것이 물리적 디스크 기반이라고 생각하는 경향이 있습니다. 추가 검증이 필요하고 해당 주제에 대해 더 많은 지식을 얻을 수 있는 자료가 필요할 수도 있습니다. 디스크 기반인 경우 애플리케이션 속도를 높일 수 있도록 디스크를 더 추가하는 것을 고려하고 있습니다.
답변1
디스크 I/O 속도는 하드웨어의 물리적 특성, 즉 디스크를 연결하는 버스(SCSI, USB 등)의 속도와 디스크 자체의 속도(항상 평균, 디스크 I/O 속도를 선택할 수 있음)에 따라 결정됩니다. O 귀하의 필요에 따라 속도). 디스크 내부 버퍼를 고려해야 합니다.)
I/O 속도 관점에서 볼 때 논리 파티션, 파일 내에서 I/O를 수행하거나 전체 디스크에서 원시 I/O를 수행하는 경우에는 차이가 없습니다.
그렇습니다. 여러 파티션("마운트 지점")이 있는 물리적 디스크가 있는 경우 전체 속도는 개별 디스크의 물리적 I/O 속도에 의해 제한됩니다. 파티션이 플래터의 서로 다른 영역에 있고 여러 파티션에 동시에 기록되면 헤드를 이동("탐색")해야 하기 때문에 실제로는 더 나쁩니다.
이와 대조적으로, 각 마운트 지점에 하나씩 여러 개의 물리적 디스크가 있는 경우 이론적으로 병렬로 작동할 수 있으며 물리적 디스크의 I/O 속도가 증가합니다. 물론 이는 특정 지점까지만 작동합니다. 컴퓨터의 내부 버스에도 대역폭 제한이 있으며 최대 속도로 여러 디스크 컨트롤러에 데이터를 공급할 수 없습니다.
그렇습니다. 더 많은 디스크를 추가하면 속도가 빨라질 수 있습니다(한계가 물리적 디스크 I/O가 아닌 다른 곳에 있는 경우 제외).