rsync - sıkıştırma düzeyi: hangi sıkıştırma düzeyleri kullanılabilir?


13

Rsync, sıkıştırma için komut satırı bağımsız değişkenlerine sahiptir:

-z, --compress              compress file data during the transfer
    --compress-level=NUM    explicitly set compression level

Ne anlama --compress-levelgeliyor? Hangi sayılar seviye olarak kullanılabilir?

Yanıtlar:


16

0-9 arasındaki değerler. 1 en hızlı olduğunda 9 en çok sıkıştırılır. Bunun dışında rsync ve zlib arasında bir ilişki vardır; burada rsync, zlib kütüphanesine "varsayılan sıkıştırmayı kullanmasını" söyler, zlib'in belgelerinde şunu söyler:

Z_DEFAULT_COMPRESSION, hız ve sıkıştırma arasında varsayılan bir uzlaşma ister (şu anda seviye 6'ya eşdeğerdir).


Peki, bu seviyelerin kökeni zlib mi?
— cronfy

evet, ancak örneğin rsync 0'da değer ayarlarsanız sıkıştırılmamış olur ve daha sonra bu formda gönderilir.
— Michal

0

Kullanılan ortam MACVLAN + bazı gürültü trafiği (yaklaşık ±% 1 hata veriyor) ile kullanılan iki liman işçisi konteynerinden oluşuyordu. DosyaX - benim durumumda - ikili

Yani, aşağıda rsync katranlı dosyaların karşılaştırması ile sıkıştırma (seçenek -z) yıldızsız dosyalar ile rsync

      1. File tarred + rsync without compression (rsync -axvPAH fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4735665-4673346=62319 bits

      2. File tarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 56933 (fileX.tar)
    Transfer difference is 4933845-4871608=62237

      3. File tarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX.tar destination:/path)

    File size is 56933 bits (fileX.tar)
    Transfer difference is 4870664-4808387=62277

      4. File untarred + rsync with default compression (rsync -axvPAH -z fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4669946-4607637=62309 bits

      5. File untarred + rsync with maximum compression (rsync -axvPAH -z --compress-level=9 fileX destination:/path)

    File size is 237525 bits (fileX)
    Transfer difference is 4806735-4744764=61971 bits

      6. File untarred + rsync without compression (makes no sense since it’s the most bandwidth consuming one) 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.