rsync와 함께 압축 옵션 -z를 사용하면 백업 속도가 빨라지나요?

rsync와 함께 압축 옵션 -z를 사용하면 백업 속도가 빨라지나요?

rsync, --compress또는 에서는 -z전송 중에 파일 데이터가 압축됩니다.

올바르게 이해하면 전송하기 전에 파일을 압축하고 전송 후에 압축을 푼다. 압축으로 인한 전송 시간 감소가 압축 및 압축 해제 시간보다 더 큽니까?

질문에 대한 대답은 USB(2.0 또는 3.0)를 통해 외부 HDD에 백업하는지, 아니면 SSH를 통해 인터넷을 통해 서버에 백업하는지에 따라 달라집니다.

답변1

이것은 일반적인 질문입니다. 엔드포인트에서의 압축 및 압축 해제로 인해 링크의 유효 대역폭이 증가합니까?

엔드포인트에서 압축 및 압축 해제를 수행하는 링크의 유효(인식) 대역폭은 다음과 같은 함수입니다.

  1. 압축 속도(CPU 속도)는 얼마나 되나요?
  2. 네트워크의 실제 대역폭

이 3D 다이어그램은 특정 상황에 대해 참조할 수 있는 기능을 설명합니다.

여기에 이미지 설명을 입력하세요.

이 사진은압축 도구 비교 2005년 기사의 저자:http://www.linuxjournal.com/.

답변2

연결 속도가 매우 느린 경우(예: GPRS) 데이터를 최대한 압축해야 합니다. 그렇지 않으면 연결 속도가 느려집니다.

CPU 속도가 매우 느리고 연결 속도가 빠른 경우(예: 내장형 네트워크 장치) 일반적으로 데이터를 압축하지 않으려고 합니다. 그렇지 않으면 CPU 속도가 느려집니다.

답변3

너무 길어요.느린 전송 링크에서는 압축이 수행되고, 그렇지 않으면 압축이 수행되지 않습니다. 다음은 압축 속도 테스트, 대역폭 변환 도구 및 일부 정보에 대한 링크입니다.

rsync압축을 사용하면 중간 링크가 "충분히 느린" 경우, 즉 한쪽 끝의 시스템이 통신 링크를 포화시킬 만큼 빠르게 압축된 데이터 스트림을 생성할 수 있는 경우에만 속도가 향상됩니다.

그렇다면 무엇인가를 얻기 위해 압축을 사용해야 하는 가장 느린 링크는 무엇입니까?

gzip다음은 데이터가 얼마나 빨리 생성되는지, 그리고 이것이 네트워크 대량 전송을 압축해야 하는지 여부에 대한 의미를 보여주는 매우 비과학적인 테스트입니다.

입력 데이터는 테스트 결과를 변경합니다매우. 나는 내 컴퓨터에서 압축되지 않은(!) 일반 파일로 작업하고 있는데, 이는 아마도 내가 일반적으로 네트워크를 통해 전송하는 데이터 유형을 나타낼 것입니다. (무한한 0을 생성하는)을 사용하는 /dev/zero것은 0의 스트림이 압축하기 매우 쉽기 때문에 오해의 소지가 있는 반면, using은 /dev/random반대 이유로 오해의 소지가 있습니다. 그래서 $HOME/local내가 있는 파일이 포함된 디렉터리의 tar 파일을 사용합니다 $HOME. 파일 자체는 압축되지 않았지만 바이너리 파일, 작은 압축 파일 및 소스/텍스트 파일이 혼합되어 포함되어 있으며 기본값을 사용하여 압축하는 경우 설정은 gzip64MiB에서 22MiB로 67% 축소됩니다.

$ gzip -c local.tar | dd of=/dev/null
43092+4 records in
43093+1 records out
22063854 bytes transferred in 2.819 secs (7825741 bytes/sec)

평균을 알아보기 위해 이것을 몇 번 했더니 초당 약 7800000바이트 정도 나왔습니다.

그런 다음네트워크 대역폭 계산기(죄송합니다. 링크가 끊어졌습니다. 아직 좋은 대체 항목을 찾지 못했습니다.) 링크가 무엇으로 변환되는지 확인하세요. 이 특별한 경우에는 "100Mb 이더넷" 유선 링크의 용량 바로 아래에 있으며 "VDSL 다운로드" 인터넷 업링크보다 빠르고 "802.11[a/g]" 무선 링크보다 약간 빠르며 "Bluetooth" 사이의 어딘가에 있습니다. v3.0"(느림) 및 "USB 2.0"(빠름).

이는 내가 무엇이든 압축을 사용하는 경우를 의미합니다.서둘러요이 외에도 압축이 가능합니다.천천히 해파일 전송.

rsync사용되지 않을 수 있습니다정밀한압축과 동일한 라이브러리 gzip이지만 위의 내용은 최소한 몇 가지 힌트를 제공합니다.

rsync아시다시피 이는 압축 이상의 기능을 수행합니다.진짜속도 증가는 변경된 파일[비트]만 전송함으로써 발생합니다.

내 경험에 따르면 rsync지난 10년 정도 동안 네트워크 대역폭이 증가함에 따라(내가 있는 곳) 압축 사용의 이점이 감소했습니다.

증분 백업을 수행하려면 이 옵션을 살펴보는 것이 좋습니다 --link-dest(전송되는 항목과는 아무 관련이 없으며 대상이 이를 저장하는 방법만 있음). 또한 SSH를 통해 이 작업을 수행하고 SSH 연결이 이미 압축된 경우 위와 같은 이유로 압축을 사용하지 말고 느린 링크(터널 등)를 통한 SSH 연결만 압축하세요.

답변4

데이터 압축 정도와 소스 및 대상의 처리 기능에 따라 다릅니다. 내 경험상 전체 디스크 백업은 원래 크기의 약 30~50%로 압축되므로 시도해 볼 가치가 있습니다. 그렇지 않으면 압축에 신경 쓰지 마십시오. 압축 비율을 테스트하고 pigz -c <your file> | wc -c반환된 크기를 원래 크기와 비교하는 것이 좋습니다 .

관련 정보