하드 드라이브를 실제 크기보다 작은 파티션으로 분할하면 객관적으로 성능이 향상됩니까?


21

나는 2016 년에 80 기가 바이트 HDD로 작업했으며 실제로 대부분의 시간을 느꼈습니다. 그리고 1TB HDD와 훨씬 더 큰 램과 더 빠른 CPU를 갖춘 새로운 랩탑을 구입 한 후 HDD는 차세대 HDD 임에도 불구하고 실제로 이전의 것보다 훨씬 느리게 느꼈습니다 (RPM 속도에 대해서는 확실하지 않음).

그래서 요즘에는 1TB HDD를 80GB 기본 파티션으로 분할하고 나머지 공간은 할당하지 않은 채로두고 OS와 기본 웹 브라우저 외에는 아무것도 필요하지 않습니다.

그것을 한 후에-실제로 어떤 이유로 전보다 훨씬 더 느꼈습니다. 파일 관리자가 너무 빨리 실행되고 HDD의 전반적인 성능이 훨씬 좋아집니다. 나는 그것이 위약인지 SSD 시대 이전에 진행되고있는 합법적 인 것인지 알고 싶습니다.

"Disk short stroking"에 대한 내용을 읽었지만 이것이 내가 한 것과 같은지 확실하지 않습니다. 어쩌면 내 BIO가 가장자리의 공간을 먼저 분할합니까? 이것에 대한 당신의 설명을 알고 싶습니다.


6
흥미로운 질문이지만 2016 년에 구입 한 HDD에 80GB의 저장 공간 만 있다면 RPM이 큰 문제가 될 수 있습니까? 하이브리드 HDD / SSD 일 가능성이 높거나 성능에 큰 영향을 줄 수있는 일종의 High RPM 드라이브 (적어도 10,000RPM 이상) 일 가능성이 높습니다.
Cestarian

1
@Cestarian 좋은 지적입니다. 나는 현재 2015 년부터 상대적으로 저렴한 데스크톱을 사용하고 있으며 80GB SSD와 1TB HDD가 제공됩니다. 마지막으로 80GB의 작은 HDD를 구입했을 때는 2003 년 무렵이었습니다. 따라서 80GB의 HDD는 HDD가 아니라 SSD 일 것입니다.
kasperd

답변:


29

그렇습니다, 당신이하는 일은 "쇼트-스트로 킹"입니다.

드라이브의 헤드 움직임을 제한하여 탐색 성능을 향상시킵니다. 하드 드라이브 성능은 주로 탐색 시간 (헤드를 원하는 실린더 내외부로 이동하는 데 걸리는 시간), 회전 대기 시간 및 실제 데이터 전송 속도의 세 가지 요소로 제한됩니다.

원칙

대부분의 최신 3.5 인치 하드 드라이브는 9-10msec 범위에서 평균 탐색 시간을 갖습니다. "검색"이 완료되면, 드라이브는 원하는 섹터의 시작이 헤드 아래로 올 때까지 기다려야합니다. 평균 회전 대기 시간은 드라이브가 완전히 회전하는 데 걸리는 시간의 절반에 불과합니다. 7200 rpm 드라이브는 초당 120 회전으로 회전하므로 회전에는 1/120 초가 걸리므로 평균 회전 대기 시간의 절반은 1/240 초 또는 4.2 msec입니다. ( 7200rpm 하드 드라이브 마다 동일합니다 .) 따라서 데이터 전송을 시작하기 전에 평균 약 13msec의 시간이 소요됩니다.

데이터 전송 속도는 드라이브 사양에 명시된대로입니다. 최신 드라이브에서는 거의 항상 물리적 인터페이스 (예 : SATA 3)가 지원하는 것보다 약간 낮습니다. I / O 작업의 데이터 전송 부분은 일반적으로 가장 작은 지속 시간 부분이며 최신 인터페이스에서는 거의 무시할 수 있습니다. 구형 ATA33 드라이브에서도 4KiB 전송에는 1.2msec 밖에 걸리지 않았습니다.

탐색 시간 사양은 다양한 헤드 이동 거리에 가능한 평균 탐색 시간입니다. 하나의 실린더에서 인접한 실린더로의 탐색이 가장 안쪽에서 가장 바깥쪽으로가는 것보다 얼마나 짧은 지 알 수 있습니다. "실린더"는 단일 헤드 위치에서 액세스 할 수있는 모든 트랙의 모음입니다. 둘 다 비정형 상황입니다. HD 성능에 대한 가정은 액세스되는 데이터가 드라이브 전체에 상당히 무작위로 분산되므로 일반적으로 인용되는 약 9 또는 10msec의 탐색 시간은 여러 다른 탐색 거리의 평균입니다. 가장 상세한 스펙 시트에서 일부 제조업체는 실린더 대 실린더 (종종 "트랙 대 트랙"으로 표시됨), 즉 인접, 탐색 시간 및 평균 (끝에서 끝까지)을 모두 나열합니다.

큰 "순차"전송으로 수행 된 드라이브 벤치 마크를 보면 탐색 시간과 회전 대기 시간을 최소화하고 드라이브 온보드 캐시의 효율성을 최대화하는 데이터 액세스 패턴으로 수행 된 테스트를 보게됩니다. 즉, 파일이 하나의 연속 된 블록 범위를 차지하는 상태에서 한 번에 64 KiB의 읽기를 사용하여 시작부터 끝까지 단일 대형 파일을 순차적으로 읽는 것입니다.

그래서 짧은 스트로크는 어떻게 작동합니까?

드라이브보다 훨씬 작은 파티션을 만들고 사용하면 모든 데이터를 좁은 범위의 실린더 (헤드 위치)에 유지할 수 있습니다. 이렇게하면 가능한 최대 탐색 시간이 줄어들 기 때문에 평균이 더 작아집니다. 순환 대기 시간이나 전송 속도에는 도움이되지 않습니다.

또 다른 방법은 드라이브 용량을 최대 용량의 실린더로 유지하는 것입니다. 최신 HD는 "존 비트 기록"을 사용합니다. 즉, 내부 트랙보다 외부 트랙의 트랙 당 더 많은 섹터가 있습니다. 따라서 데이터가 외부 실린더에 있으면 헤드를 많이 움직이지 않고도 더 많은 데이터에 액세스 할 수 있습니다.

정말 작동합니까?

많은 다른 기술 애호가들이 이것을 테스트했습니다. 예를 들어 Tom 's Hardware 의이 기사를 참조하십시오 . 초당 I / O 속도가 거의 두 배가됩니다.

그러나 이것은 큰 하드 드라이브를 구입하고 드라이브 용량의 작은 부분 만 사용하여 수행되었습니다. 이는 GB 당 비용을 크게 증가시킵니다.

그러나 해결 방법이 있습니다. 당신은 결코 필요가 없습니다드라이브의 나머지 부분을 사용하여 속도 이점을 얻으십시오. 시스템이 주 파티션을 많이 때마다 일상적인 사용을 피해야합니다. 우리 대부분은 우리가 많이 액세스하는 파일 (OS, 앱 및 앱이 작동하는 일부 데이터)과 그다지 액세스하지 않는 훨씬 더 많은 양의 데이터를 가지고 있습니다. 예를 들어, 보관 드라이브의 종류 나 음악 및 비디오와 같은 멀티미디어 파일에 드라이브의 나머지 부분을 사용할 수 있습니다. 미디어 재생은 일반적으로 단일 파일에 대한 빈번한 순차적 액세스로 이루어지며 일반적으로 컴퓨터에서 다른 많은 작업을 수행하지 않습니다. 따라서이 방법으로 드라이브를 사용하면 모든 것이 하나의 큰 파티션에 분산되어있는 것보다 미디어 재생이 더 나 빠지지 않으며 미디어 데이터와 관련이없는 작업은 짧은 행정의 이점을 얻을 수 있습니다.

그러나 좋은 생각입니까?

반면에 ... TH가 수행 한 테스트는 합성 벤치 마크였으며, 그 결과를 얻기 위해 디스크 용량의 매우 높은 비율을 버렸습니다. 최신 운영 체제는 HD 성능을 최적화하기 위해 많은 노력을 기울입니다. 한 예로 Windows의 "파일 배치 최적화"가 있으며이 답변에 대한 설명에 설명되어 있습니다. 그리고 "짧은 스트로크"는 이것이 덜 효과적 일 것입니다. 합성 벤치 마크에서 누군가 인상적인 결과를 얻었다 고해서 "짧은 스트로크"가 반드시 좋은 일임을 의미하지는 않습니다.

생각해보십시오. 요즘 1TB 하드 드라이브 비용은 약 $ 50입니다. 그러나 80GB 만 사용하고 있습니다. 당신은 OS와 브라우저 만 있으면된다고 말합니다. 음, 63 달러에 삼성 128GB SSD를 구매할 수 있습니다. HD. 또는 $ 50에 240GB 용량의 SanDisk SSD를 구입할 수 있습니다. 거의 50 달러의 1 테라 바이트 하드 드라이브를 사용하지 않는 것보다 더 나은 거래 인 것 같습니다.

btw

btw : "BIOS"(또는 그 문제에 대한 UEFI)는 파티션을 만들지 않으며 파티션의 위치와 관련이 없습니다. 운영 체제의 파티셔닝 유틸리티에 달려 있습니다. 내가 들어 본 모든 OS는 먼저 외부 실린더를 사용합니다. 예를 들어, Windows 디스크 관리 유틸리티에서 각 디스크 내의 드라이브 파티션을 그래픽으로 표시하면 가장 바깥 쪽 실린더가 왼쪽에있는 레이아웃이 표시됩니다. AOMEI 디스크 파티션 유틸리티도 동일하게 수행됩니다.

ASIDE-TRUE STORY : 수십만에서 수백 MB에 이르는 5.25 인치 폼 팩터 하드 드라이브의 크기는 CDC라는 회사에 "Wren"시리즈라는 드라이브 라인을 가지고있었습니다. (이 이름은 의심 할 여지없이 다소 초기의 후지쯔 "이글 (Eagle)"드라이브에서 상당히 큰 규모의 후지쯔 "이글 (Eagle)"드라이브에 등장했습니다. 용량이 약 90 %, 비용이 20 % 증가하며 평균 액세스 시간이 1 밀리 초 정도 단축되었습니다. 몇 가지 실험을 한 후 "WrenRunner"는 드라이브 펌웨어에 처음 몇 개의 마지막 트랙이 잠긴 "Wren"이라는 것이 분명했습니다. 즉, 우리는 그 용어를 사용하지 않았지만 "짧은 스트로크"를 통해 더 저렴한 Wren에서 동일한 성능과 용량을 얻을 수 있습니다.


당신의 설명은 합리적이지만 "그렇다"는 가짜로 보입니다. 사용 가능한 스토리지의 5 % 또는 10 % 만 사용하는 경우 적절한 OS의 파일 시스템 드라이버는 디스크의 처음 5 또는 10 %에서 대부분 또는 전체적으로 스토리지를 할당합니다. 그것을 초과 할당하면 잘못 조각난 자유 영역을 사용하지 않아야하므로 성능이 향상됩니다. 별도의 상태를 유지하기위한 것이 아니라 "성능을 위해"드라이브를 분할하는 것은 우스운 아이디어입니다.
R ..

@R .. 아니면, 디스크의 시작에 쓰는 마지막으로 더 이상 구동을 반복하지 않도록 할 수 있지만, 난 당신이 자주 데이터를 대체하는 경우 그에만 같아요
누군가

1
@R .. 음 ... 몇 개월 또는 1 년 동안 사용 된 후 대형 HD의 사용량 분포를 살펴본 경우 다른 아이디어가있을 수 있습니다.
Jamie Hanrahan

2
반면에 Windows의 파일 배치 최적화가 있습니다. 부팅하는 동안 시간에 가깝게 액세스되는 exe 및 dll의 일부를 의도적으로 이동하여 디스크에서 서로 가깝게 만듭니다. 그리고 이것은 이것들을 하나의 연속 된 공간으로 옮기려고 시도하기 때문에, 그러한 공간이 발견 될 수있는 곳, 즉 많은 여유 공간이있는 드라이브에서 더 효과적이어야합니다. (당연히 WIndows는 SSD 에서이 작업을 수행하지 않습니다.) 따라서 "예, HD 성능을 향상시킵니다"라는 대답은 여전히 ​​벤치 마크에 유효하지만 반드시 좋은 일임을 의미하지는 않습니다.
Jamie Hanrahan

2
다음은 Windows 파일 배치 최적화에 대한 글입니다. 물론 Solomon, Russinovich 등의 Windows Internals 는 "말의 입"참조입니다. autoitconsulting.com/site/performance/…
Jamie Hanrahan

3

많은 요소가 있으며 엄격히 정식 답변이 있는지 확실하지 않습니다. 그러나 데이터가 조각화되지 않은 경우 회전 디스크 외부 근처의 작은 파티션은 더 빠른 탐색 및 순차적 전송을 보일 수 있습니다.

회전하는 디스크에서 외부 실린더는 더 많은 섹터를 가지며 내부 실린더보다 더 빠르게 회전합니다. 많은 현대 파일 시스템은 조각화를 줄이기 위해 파일 섹터를 연속적으로 배치하려고 시도합니다. 이는 종종 큰 파티션이 시간이 지남에 따라 점점 더 많은 내부 실린더를 사용함을 의미합니다.

파티션이 작을수록 파일 시스템이 외부 실린더에 더 많은 데이터를 배치하도록 할 수 있으며, 약간 조각화 되어도 데이터가 읽기 헤드 아래에서 더 빨리 이동합니다.

hdparm 과 같은 Linux 도구를 사용하여 파티션 크기가 다른 랜덤 액세스 및 순차 성능에 대해 드라이브를 테스트 할 수 있지만 실제적인 답변 이상을 원할 경우 조각화를 고려한 고급 도구를 사용할 수 있습니다.

드라이브를 사용하는 대상에 따라 디스크 공간 낭비의 이점은 낭비 자체로 상쇄 될 수 있습니다. 조각화에서 임의 액세스 또는 성능이 중요한 경우 SSD (Solid-State Drive)로 전환하는 것이 장기적으로 더 의미가있을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.