nfs-share에서 로컬 디렉토리로 파일을 복사 할 때 cp와 비교할 때 rsync가 매우 느립니다 (요소 8-10). 30 개의 파일, 약 15 개의 vm-image

VM 저장소의 새로운 백업 서버가되어야하는 Ubuntu 서버를 새로 설치했습니다. 서버에는 SAN에 연결하는 데 사용되는 4 개의 nics가 있으며 그 중 2 개는 10Gbit (실제로 최신 드라이버가있는 Intel x540-T2)입니다. nfs-share를 로컬로 마운트하고 ~ 30 개의 파일, 약 15 개의 vm-image 및 해당 로그 파일이있는 디렉토리를 복사하는 동안 속도 차이를 비교했습니다. 이미지 크기는 8GB ~ 600GB입니다.

사용 :

cp -rf /mnt/nfs-share /backup-storage/

bmon은 결과적으로 약 600MiB / s를 보여줍니다.

사용

rsync -av /mnt/nfs-share /backup-storage/

bmon은 첫 번째 초에 일부 패킷을 표시하고 약 30 초 동안 정지하며 최대 약 60-75 MiB / s를 구축합니다. CPU는 약 60 %입니다.

rsync같은 성능으로 사용하려면 무엇을 변경해야 cp합니까?



답변

나는 이러한 차이점이 cp와 사이에 상당히 잘 확립되어 있다고 생각합니다 rsync. 이 기사를 참조하십시오. 제목 은 rsync performance 입니다.

발췌 :

The four commands tested were:

    rsync $SRC $DEST
    echo $SRC | cpio -p $DEST
    cp  $SRC $DEST
    cat $SRC > $DEST/$SRC

The results for rsync, cpio, cp, and cat were:

user    sys     elapsed hog MiB/s   test
5.24    77.92   101.86  81% 100.53  cpio
0.85    53.77   101.12  54% 101.27  cp
1.73    59.47   100.84  60% 101.55  cat
139.69  93.50   280.40  83% 36.52   rsync

나는 rsync매일 사용합니다. 상황을 개선하기 위해 할 수있는 일이 있습니다.

예를 들어 -W스위치를 사용해보십시오 .

-W, --whole-file            copy files whole (w/o delta-xfer algorithm)

또한 3.x 버전이 있는지 확인하는 것이 좋습니다 rsync. 최신 버전으로 업그레이드 할 때 눈에 띄게 개선되었습니다.


답변

rsync를 cp와 동일한 성능으로 만드는 방법은 “cp”라는 철자를 사용하는 것입니다.

순 효과가 동일하더라도 두 명령의 차이는 중요합니다. 특히, rsync는 일부 파일 또는 파일의 일부를 복사해야하는지 여부를 확인하기 위해 많은 읽기를 수행합니다.

rsync를 사용하려는 이유가 있습니까? cp는 “맹목적으로”복사하기 때문에 더 높은 원시 성능을 볼 수 있습니다. 일련의 트리거링 조건에 대해 rsync의 “델타 전송”메커니즘을 사용하면보고 방식에서 전송률이 떨어지고 CPU 사용량이 크게 증가하는 것을 볼 수 있습니다.