동기화 속도가 느림


1

다음 명령을 사용하여 rsync (cygwin)를 사용하여 두 개의 드라이브를 동기화하고 있습니다 rsync -a -H /cygdrive/e/ /cygdrive/d/ .-약 3 tb의 데이터와 약 1 백만 개의 파일 (하드 링크 포함)이 있습니다. 제대로 기억한다면 처음으로 1-2 일 정도 걸렸습니다. 이 명령을 다시 실행하면 아무 것도 업데이트되지 않더라도 시간이 오래 걸립니다. 몇 시간 --- 12 시간이 걸립니다. 시간이 많이 걸리지 않습니까?


당신은 얼마나 많은 RAM을 가지고 있습니까? cygwin 환경은 실제 Linux보다 훨씬 느리지 만 Linux조차도 1TB 스토리지 당 약 4GB의 RAM이 필요하여 고성능의 작은 파일을 많이 처리해야합니다. cygwin이 커널 내부 구현에 비해 50 %의 오버 헤드를 발생시키는 경우 작업에 대해 최소 16GB의 유효 RAM 캐시가 있어야합니다. 용량이 적 으면 HDD를 다시 다시 읽기 때문에 작업에 많은 시간이 걸립니다 (6TB의 SSD가 없다고 가정합니다).
Mikko Rantalainen

당시 12GB가있었습니다. 작업이 사용 가능한 RAM을 초과했는지 기억이 없습니다. 요즘에는 Linux 또는 Linux 용 Windows 하위 시스템 (Ubuntu)을 아무 문제없이 사용합니다.
rjss

rsyncRAM 자체는 필요하지 않지만 전체 디렉토리 계층 구조를 RAM으로 유지하려면 시스템에 RAM이 필요합니다. 그렇지 않으면 다시 실행하면 전체 디렉토리 계층 구조를 다시 스캔해야하며 디렉토리 스캔에는 스토리지에 대한 거의 임의의 액세스 패턴이 필요하고 HDD는 실제로 불량하므로 HDD에서는 속도가 느립니다. 단일 샷 전송을 수행하는 경우에는 문제가되지 않습니다. 그러나 시간이 많이 걸리는 재실행에 대해 구체적으로 요청 했으므로 이것이 적용됩니다.
Mikko Rantalainen

답변:


1

동일한 시스템에서 두 위치간에 복사하고 있습니다. 델타 알고리즘을 끄고의 rsync멋진 구현으로 되돌 cp -a립니다.

-H플래그의 원인 rsync은 대상에서 하드 링크를 재구성 할 수 있도록 두 개 이상의 하드 링크로 모든 파일의 기록을 유지해야 할 수 있습니다. 이렇게하면 메모리 사용이 증가하고 (필자는 말 그대로 많은 양의) 시스템에 대한 수요를 증가시킬 수 있습니다.

마지막으로 Cygwin rsync은 기본 UNIX / Linux 구현보다 상당히 느립니다. 이것이 Windows 위에 호환성 계층을 사용하고 있는지 또는 파일 시스템이 느리거나 다른 것이 있기 때문에인지 여부를 결정하지 못했습니다. 그러나 동일한 하드웨어에서 동일한 파일 세트를 사용하면 속도가 느려집니다.


0

이것은 완전한 대답은 아니지만 같은 상황에 처한 일부 사람들에게는 정말 가치가 있다고 생각합니다. 나는 리눅스에서 rsync를 끝내고 아무런 문제없이 작동했습니다. 이 문제가 발생하는 경우 CD에서라도 Ubuntu / CentOS 또는 선호하는 Linux 배포판으로 부팅하여 작동하는지 확인하십시오.

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