영화 프로젝트에서 72TB 이미지 시퀀스의 복사본을 생성해야 하는 과제가 있습니다. 나는 650만 개의 11MB 이미지를 가지고 있는 것으로 추산합니다.
소스 드라이브는 대상 RAID5 SAS와 마찬가지로 읽기 및 쓰기 속도가 1000MB/s인 RAID5 SAS입니다.
내 테스트 100GB 비디오 파일은 위에 나열된 속도로 소스에서 대상으로 이동했습니다.
-avb를 사용하는 RSYNC 3.2.6의 현재 최대 속도는 211MB/s입니다.
TAR에서 20GB(설명을 위해 무작위로 선택됨)의 비압축 zip을 만들고 RSYNC로 파이프하여 많은 작은 파일을 처리하는 오버헤드를 줄이는 것을 탐색하면 어떤 이점이 있습니까?
현재 과제는 4~5일 정도 걸릴 것으로 예상되는데, 단축하고 싶습니다.
어떤 의견이라도 환영합니다!
맥 OS 12.3 M1 스튜디오 울트라
답변1
현재는 여러 개의 작은 파일을 찾고 읽고 쓰는 것으로 제한되어 있습니다.가지다20GB .zip/.tar 파일이 도움이 될 것입니다.만들다zip
동일한 작업을 수행해야 하기 때문에 rsync보다 느릴 수 있습니다 (임의 액세스 읽기). 하지만 내 말을 그대로 받아들이지는 마세요. rsync를 일시 중지하고 테스트하세요! 테스트는 거의 항상 정답입니다.
Linux에서는 이 도구를 사용하여 iostat
디스크를 기다리는 데 소요되는 시간의 비율을 확인하는 것이 좋습니다. OS X를 사용하는 경우 OS X에 해당하는 것이 무엇인지 잘 모르겠습니다.
전체 소스 RAID와 대상 RAID를 결합하려는 경우정확히 똑같다마지막으로(옵션이 제공되었지만 -b
그렇지 않음) dd
1000MB/s로 실행되는 RAID 장치와 같은 것을 사용할 수 있습니다. 하지만 꼭 알아두세요정확히dd로 무엇을 하고 계시나요? 그렇지 않으면 데이터가 손상될 수 있습니다.
이것이 자주 수행되는 작업이라면 이미지를 생성하는 동안 rsync를 반복적으로 실행하여 4일을 기다리지 않도록 하는 것이 좋습니다.
답변2
rsync 스트림에 사용하는 주요 속도 향상은 다음과 같습니다.
- 파일 목록을 나누고 원본 컴퓨터와 대상 컴퓨터 간에 병렬 rsync 스트림을 실행합니다. 이는 일반적으로 상당한 처리량 증가를 가져옵니다.
- 전송 방법으로 SSH를 제거했습니다. 암호화/복호화 단계에는 약간의 오버헤드가 있습니다. 안전한 경우(요즘에는 일반적이지 않음) rsync 클라이언트를 (암호화되지 않은) rsync 데몬에 연결하면 처리량이 크게 향상될 수 있습니다.
- 귀하가 질문했고 다른 답변에서 해결되었습니다. 특히 데이터가 압축 가능하고 전송하기 전에 압축하고 전송 후에 압축을 풀 수 있는 경우 평균 파일 크기를 늘리는 것이 도움이 될 수 있습니다. (그리고 추가 저장 공간이 있습니다.) 압축/압축 해제 단계에 투자한 시간은 전송 단계의 시간을 줄일 수 있습니다.
단일 TCP 스트림(즉, 단일 rsync 전송)이 1Gbps 이상의 네트워크 링크를 통해 최대 처리량을 달성할 수 있는 경우는 매우 드뭅니다. 병렬 전송이 가장 큰 차이를 만들 가능성이 높습니다. 인터넷에는 병렬 rsync를 실행할 수 있다고 주장하는 몇 가지 프로그램이 있습니다. 나는 큰 성공을 거두지 못한 채 직접 작성해 보았습니다. 이것은 보기보다 더 복잡한 작업입니다.