하드 드라이브 속도를 확인하는 방법은 무엇입니까?

하드 드라이브 속도를 확인하는 방법은 무엇입니까?

B+ 트리의 노드 크기를 배우고 있는데 저장 속도가 매우 중요한 것 같습니다. 여기저기 둘러보며 사용해봤는데

sudo hdparm -Tt /dev/sda

산출

/dev/sda:
 Timing cached reads:   11956 MB in  1.99 seconds = 5993.51 MB/sec
 Timing buffered disk reads: 818 MB in  3.00 seconds = 272.52 MB/sec

캐시 타이밍이란 무엇을 의미하나요? 누군가가 그것을 설명할 수 있다면 좋을 것입니다.

hdparam옵션을 살펴봤습니다 .

sudo hdparm -f /dev/sda

/dev/sda:

대안은 무엇입니까?

답변1

최신 시스템에는 자동으로 최상의 설정을 선택하는 드라이버가 있는 경우가 많습니다. 따라서 현재 hdparm을 사용하여 상당한 개선을 달성할 가능성은 없습니다. 이러한 설정을 사용하려면 광범위한 현장 지식이 필요하며, 그렇지 않으면 손상될 가능성이 높습니다. 자신이 투자한 하드웨어에 투자하면 좋은 결과를 얻을 수 있습니다. 특히 자기디스크(HDD) 대신 솔리드스테이트드라이브(SSD)를 사용하면서 엄청난 발전이 이뤄졌다. 더 나은 인터페이스 카드도 많은 도움이 될 것입니다. 그런 다음 RAID 어레이에서 디스크를 여러 개의 물리적 디스크로 분리하여 구성하면 더 나은 IO 값을 제공할 수 있습니다.

hdparm 테스트 결과 관련: Linux는 가능할 때마다 사용 가능한 RAM을 사용하여 IO 작업을 캐시합니다. 예를 들어 "top"을 "buff/cache"로 설정하면 이 캐시의 크기를 볼 수 있습니다. 이는 일반적인 IO 작업의 경우 데이터가 메모리에 저장된 다음 디스크(쓰기 작업의 경우) 또는 요청 프로세스(읽기의 경우)로 전송됨을 의미합니다. 동일한 데이터를 읽는 다음 작업은 저장소에 액세스하지 않고 메모리에서 직접 데이터를 전달합니다.

hdparm -t는 저장소에서 일정량의 데이터를 읽습니다. 그런 다음 이 데이터를 버퍼링한 캐시 영역을 지우고 다시 읽으십시오. 이러한 유형의 작업에 대해 측정된 처리량은 "Timed Buffered Disk Reads"로 표시됩니다. 이는 디스크에서 데이터를 새로 가져올 때의 일반적인 읽기 처리량을 반영합니다. 예를 들어 처음으로 디스크에서 대용량 비디오를 스트리밍하는 경우입니다.

hdparm -T는 유사한 작업을 수행하지만 버퍼 캐시를 플러시하지 않습니다. 따라서 첫 번째 작업에서만 데이터를 버퍼에 로드하고, 반복된 읽기에서는 디스크 작업 없이 메모리에서 데이터를 전달합니다. 측정된 처리량은 "Timed Cache Reads"로 표시됩니다. 이는 동일한 이미지가 연속해서 여러 번 표시될 때 경과된 시간을 반영할 수 있습니다.

"하드 드라이브 속도를 확인하는 방법"이라는 제목 질문에 답변하기가 어렵습니다. 숙련된 디스크 속도는 작업 유형에 따라 크게 달라집니다. 그 차이는 엄청날 수 있습니다. 예를 들어 데이터베이스 프로세스에 의한 대용량 파일의 순차 읽기와 4K 페이지의 무작위 읽기를 비교할 때입니다. 따라서 나는 일반적으로 저장된 운영 프로필을 사용한 다음 IOzone(www.iozone.org)을 사용하여 이러한 부하를 시뮬레이션해야 할 필요성을 식별합니다.

답변2

하드 드라이브에는은닉처.

6GB/s는 무리한 속도인 것 같습니다.디스크캐시 액세스. 예를 들어 SATA는 6GB를 제공합니다.조금초당 이론적 대역폭, 약 600메가비트에 해당바이트초당. 심지어삼성 970evo청구된 최대 용량은 3.5GB입니다.조금/초 읽기 속도. "캐시 읽기" 숫자는 OS 캐시(예: RAM, 디스크에 액세스하지 않음)에서 데이터를 다시 읽는 것처럼 보입니다.

b+ 트리를 사용하는 애플리케이션에서는 순차/배치 I/O 속도보다 랜덤 액세스 속도가 더 중요합니다. 다양한 디스크 벤치마킹 소프트웨어가 작성되어 있습니다.보니++무작위 액세스를 테스트할 수 있습니다.

관련 정보