Tôi muốn sao lưu một đường dẫn từ một máy tính trong mạng của tôi sang một máy tính khác trong cùng một mạng qua dòng 100 Mbit / s. Đối với điều này tôi đã làm
dd if=/local/path of=/remote/path/in/local/network/backup.img
điều này mang lại cho tôi tốc độ truyền mạng rất thấp khoảng 50 đến 100 kB / giây, sẽ mất mãi mãi. Vì vậy, tôi đã dừng nó lại và quyết định thử gzipping nó để làm cho nó nhỏ hơn nhiều để số tiền cần chuyển ít hơn. Tôi cũng vậy
dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz
Nhưng bây giờ tôi nhận được một cái gì đó như tốc độ truyền mạng 1 MB / s, do đó, hệ số từ 10 đến 20 nhanh hơn. Sau khi nhận thấy điều này, tôi đã thử nghiệm điều này trên một số đường dẫn và tệp, và nó luôn giống nhau.
Tại sao đường ống dd
đi qua gzip
cũng làm tăng tốc độ truyền tải theo một hệ số lớn thay vì chỉ giảm chiều dài của luồng bằng một hệ số lớn? Thay vào đó, tôi dự kiến sẽ giảm một chút tốc độ truyền, do mức tiêu thụ CPU cao hơn trong khi nén, nhưng bây giờ tôi nhận được gấp đôi. Không phải là tôi không hạnh phúc, nhưng tôi chỉ đang tự hỏi. ;)
dd
là xuất ra với tốc độ 1MB / s ... ngay trong gzip
ống chờ . Nó có rất ít để làm với kích thước khối.