두 파일을 동시에 복사하는 것보다 두 파일을 동시에 복사하는 것이 더 느립니까? [복제]


15

내 상사는 하드 드라이브가 디스크의 두 위치 사이에서 헤드를 계속 전환해야하기 때문에 하나를 수행하는 것보다 다른 파일을 동시에 복사하는 데 시간이 오래 걸린다고 말했습니다. 이것이 사실입니까? 운영 체제는이 문제를 해결하기에 충분히 똑똑해야합니다 (즉, 순차적으로 복사해야 함). USB 포트에 연결된 드라이브로 복사 할 때 이것이 사실입니까?

편집 : 파일 시스템을 고려한 다른 요인이 있습니까? 예를 들어 10 개의 파일을 포함하는 1 개의 디렉토리를 복사하는 것과 디스크 전체에서 10 개의 파일을 복사하는 것이 차이가 있습니까? 소스 매체 하나와 대상 매체 하나만 궁금합니다 (여러 드라이브에서 읽지 않음).


때로는 그렇지 않습니다.
Daniel R은

이 질문은 대부분의 답변자들의 교육받은 추측보다는 실제 벤치 마크에서 도움이 될 수 있다고 생각합니다. 회전하는 디스크와 여가 시간이 있습니까? 나는 생각 의 차이가 무시 될 가능성이 높습니다, SSD에 대한; 하드 디스크에있는 동안, 나는 생각 (서로 다른 인 경우) 대답은 수와 파일의 크기와 소스 및 대상 디스크의 상대적 성능에 따라 주요 성능 저하의 가능성이 약간의 혜택 범위 수 있습니다.
Lie Ryan

1
또한 USB2를 통해 전송하는 경우 차이가 없을 것입니다. 일반적인 하드 디스크 읽기 속도는 약 50-100MB / s이고 USB2의 최대 속도는 32MB / s이므로 버퍼링으로 인해 병목 현상이 하드 디스크 특성이 아닌 USB 포트가 될 수 있습니다. 다시 말해, 어떤 식 으로든 말로 표현하기가 어렵습니다.
Lie Ryan

@LieRyan USB 2를 사용하여 1 개의 하드 디스크에서 1 개의 외부 하드 디스크로 복사하는 것과 관련된 질문에 가장 적합하기 때문에 주석으로 답변으로 게시하지 않은 것이 너무 나쁩니다.
Celeritas

답변:


12

나는 이 질문에 당신을 연기 할 것이다 . 동일한 디스크에서 두 개의 복사 작업을 동시에 실행하는 경우 (별도의 복사 작업을 통해 시작되었지만) 경쟁 작업간에 헤드가 앞뒤로 탐색하는 대기 시간으로 인해 실제로 더 오래 걸리는 것 같습니다.

그러나 복사 작업이 동시에 시작 되면 대부분의 최신 운영 체제는 전송을 대기열에 넣을 수있을만큼 똑똑하고 복사 시간이 다소 빠릅니다.

파일 복사 작업이 TeracopyFastCopy 와 같이 순차적으로 대기하고 순차적으로 실행되도록하는 데 사용할 수있는 많은 응용 프로그램이 있습니다.

그러나 여러 물리 볼륨에서 동시 복사 작업을 수행하는 것은 전적으로 또 다른 문제입니다. 대체 프로토콜을 통해 파일을 전송하는 것과 같습니다.

USB 포트에 연결된 드라이브에 복사하는 것에 대한 질문은 드라이브가 사용하는 메모리 유형과 사용중인 USB 사양 (USB 1.0 및 2.0의 경우 현저한 병목 현상) 및 이전에 크게 의존합니다. 사본 소스 볼륨에 관한 언급 된 요인.


1
시스템의 프로세서 성능에 의존하지 않습니까?
Raghunandan

@ Raghunandan 공정한 포인트-나는 그것이 전적으로 상황에 달려 있다고 생각합니다. 다중 코어 / 하이퍼 스레딩은 다중 물리 볼륨 또는 SSD / RAMDisk에서 데이터를 읽는 경우 확실히 복사 속도를 향상 시키지만 단일 HDD의 시나리오에서는 복사 속도의 제한 요소가 여전히 디스크의 IO 속도와 헤드의 존재에있을 수 있습니다. -동작 대기 시간 (더 적절한 용어가 있어야합니다 ...).
bosco

3
@Raghunandan-파일 시스템만큼 OS가 아닐 수 있습니다 (NTFS vs EXT4).
Enigma

2
@ Raghunandan PC-24000 DDR3의 대역폭은 24GB / s이며 여전히 최신 CPU에는 제한이 없으므로 HDD 작동이 RAM 작동보다 100 배 덜 효과적이라하더라도 실제로 CPU의 문제라고 생각하지 않습니다. CPU는 여전히 최소 245MB / s를 처리 할 수 ​​있으며 이는 여전히 가장 빠른 SSD 대역폭 이상입니다.
gronostaj

1
@Raghunandan 리눅스 파티션은 Windows 파티션보다 디스크의 더 빠른 부분에있을 수도 있습니다 (예 : 외부 v. 내부)
ernie

16

여기에 영향을 줄 수있는 많은 요소가 있습니다.

  • 소스 드라이브-이 회전 디스크 또는 SSD입니까? 디스크가 회전하는 경우 파일 레이아웃이 성능에 영향을 줄 수 있습니다. 두 파일이 디스크의 다른 부분에있을 수 있으므로 헤드 페널티를받습니다. 말했듯이 한 번에 두 개의 파일을 선택하고 그런 식으로 사본을 시작하면 OS가 사본을 순차적으로 처리합니다.
  • 파일 레이아웃-파일 조각화 (소스 및 대상 모두에서)는 비 SSD 드라이브의 성능에 영향을 줄 수 있습니다
  • 대상-단일 대상에 쓰는 두 개의 쓰기 스트림이 있으면 다시 SSD가 아니라고 가정 탐색 문제로 돌아가고 파일을 많이 인터리브 할 수 있습니다. 나는 고성능 스토리지를 만든 회사에서 일 했었고, 그들에게 가장 큰 문제 중 하나는 읽고 쓸 수있는 실시간 비디오 스트림의 수였습니다 (2k 비디오는 초당 300 megs가 필요함). 쓰기를 바꾸면 복사 프로세스 속도가 느려지고 파일 읽기 속도가 느려집니다. 물론 디스크가 조각화되어 시작되면 파일이 인터리브됩니다.
  • 단일 / 복수 소스 / 대상-파일이 모두 하나의 드라이브에서 제공되는지 또는 단일 드라이브에 기록되는지에 따라 헤드 탐색 문제가 다소 줄어들 수 있습니다.
  • 파일 크기-실제로 작은 파일의 경우 헤드가 다음 파일을 찾으려고해야하므로 헤드 탐색 문제는 중요하지 않습니다 (파일간에 앞뒤로 이동하는 대신 헤드가 파일을 순차적으로 읽는다는 것을 의미합니다)

OS 가이 문제를 해결하기에 충분히 똑똑하다면 일반적으로 그렇습니다. 즉, 여러 파일을 동시에 복사하는 경우 (예 : 한 번에 여러 파일을 선택하고 끌어서 놓기 생각).

물론 두 개의 cp명령 을 시작하면 두 개의 명령이 실행되거나 Windows에서 별도의 파일을 복사 / 붙여 넣기하고 화면에 두 개의 "복사"진행률 창이 표시되면 최적화가 수행되지 않습니다. 이 경우 OS에 두 사본을 동시에 실행하라고 명시 적으로 명시 했으므로 한 사본이 다른 사본보다 더 중요하다고 결정하지 않고 대기열을 시작합니다.


+1 누락 된 것은 "단일 / 복수 소스 / 대상"으로 표시되는 RAID 구성입니다.
David Harkness

1
-1의 대부분은 질문과 관련이 없습니다
Celeritas

1

GUI에서 또는 "copy C : \ folder * D : \ folder \"와 같은 명령을 사용하여 여러 개의 선택 및 복사를 수행하는 경우 파일이 순차적으로 복사되어 질문이 무너집니다.

일부 파일을 복사하고 복사하는 동안 GUI에서 두 개의 개별 작업을 수행하거나 "cp -r / usr / bin / / opt / bin / & cp -r / usr / local / bin / / opt / local / bin / "-성능이 거의 확실하게 저하 될 수 있습니다 (아마도 하이 엔드 솔리드 스테이트 드라이브, 두 복사 작업 모두에서 큰 파일). TON (스피닝 디스크, 하나 또는 두 작업에서 비교적 작은 파일). 더 나은 운영 체제는 성능 저하를 어느 정도 완화 할 수 있습니다. 예를 들어 최신 Linux 커널은 CFQ (Completely Fair Queueing) I / O 스케줄러를 사용하여 어느 정도 "배치"블록 작업을 수행하여 효율성을 높입니다. 성능 저하. 경우에 따라 조회수가 거칠거나

TL; DR- 성능이 걱정되는 경우 해당 작업에 포함 된 개별 파일 수에 관계없이 한 번에 하나의 복사 작업 만 실행 합니다.

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