Я хотів створити резервну копію шляху від комп'ютера в моїй мережі до іншого комп’ютера в тій же мережі по лінії 100 Мбіт / с. Для цього я і зробив
dd if=/local/path of=/remote/path/in/local/network/backup.img
що дало мені дуже низьку швидкість передачі мережі приблизно від 50 до 100 кБ / с, що зайняло б назавжди. Тому я зупинив це і вирішив спробувати gzipping на льоту, щоб зробити його значно меншим, щоб сума для переказу була меншою. Так я і зробив
dd if=/local/path | gzip > /remote/path/in/local/network/backup.img.gz
Але зараз я отримую щось на кшталт швидкості передачі мережі в 1 Мб / с, тому в 10 разів швидше. Помітивши це, я перевірив це на кількох контурах і файлах, і це було завжди однаково.
Чому трубопровід dd
через gzip
також збільшити швидкість передачі великого коефіцієнтом замість тільки зменшення bytelength потоку великого фактором? Натомість я очікував навіть невеликого зниження швидкості передачі через велике споживання процесора під час стискання, але тепер я отримую подвійний плюс. Не те, що я не задоволений, але мені просто цікаво. ;)
dd
виводиться зі швидкістю 1 Мб / с ... прямо в gzip
трубу очікування . Це дуже мало стосується розміру блоку.