네트워크의 컴퓨터에서 100Mbit / s 회선을 통해 동일한 네트워크의 다른 컴퓨터로 경로를 백업하고 싶었습니다. 이를 위해 나는했다
dd if=/local/path of=/remote/path/in/local/network/backup.img
이것은 약 50 ~ 100 kB / s의 매우 낮은 네트워크 전송 속도를 제공하여 영원히 가져갔습니다. 그래서 나는 그것을 멈추고 전송량을 줄 이도록 훨씬 작게 만들기 위해 즉시 gzipping하려고 시도했습니다. 그래서 나는
dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz
그러나 이제는 1MB / s의 네트워크 전송 속도를 얻으므로 10 ~ 20 배 더 빠릅니다. 이것을 알아 차린 후 나는 여러 경로와 파일에서 이것을 테스트했으며 항상 동일했습니다.
파이핑을 dd통해 gzip스트림의 바이트 길이를 크게 줄이는 대신 전송 속도를 크게하는 이유는 무엇 입니까? 압축하는 동안 CPU 소비가 높기 때문에 전송 속도가 약간 감소 할 것으로 예상했지만 이제는 이중 플러스를 얻습니다. 행복하지는 않지만 궁금합니다. ;)
dd대기 gzip파이프 로 1MB / s로 출력 된다는 것 입니다 . 블록 크기와 관련이 거의 없습니다.