ОБЛАЧНЫЙ МЕНЕДЖЕР РАЗВЕРТЫВАНИЯ: проблема создания внутреннего балансировщика нагрузки

Rsync имеет аргументы командной строки для сжатия:

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

Что делает - уровень сжатия означает? Какие числа можно использовать в качестве уровня?

13
задан 18 November 2016 в 10:42
4 ответа

это значения от 0 до 9. Где 1 - самый быстрый, 9 - самый сжатый. Помимо этого существует корреляция между rsync и zlib, где примерно rsync сообщает библиотеке zlib "использовать сжатие по умолчанию", в документации zlib говорится следующее:

Z_DEFAULT_COMPRESSION запрашивает компромисс по умолчанию между скоростью и сжатие (в настоящее время эквивалентно уровню 6).

16
ответ дан 2 December 2019 в 21:25

Используемая среда состояла из двух контейнеров докеров, используемых с MACVLAN + некоторый шумовой трафик ( погрешность около ± 1%) FileX - в моем случае - бинарный

Итак, ниже приведены результаты использования tarred файлов rsync и rsync со сжатием (опция -z)незарезервированные файлы

      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) 
0
ответ дан 2 December 2019 в 21:25

Обратите внимание, что локальная документация rsync содержит информацию о --compress-level.

Чтобы найти его:

  1. запустите man rsync
  2. введите /compress-level (обратите внимание на косую черту) и нажмите ENTER
  3. введите / и ENTER (повторяйте, пока не будете удовлетворены)
  4. попался!
       --compress-level=NUM
              Explicitly set the compression level to use (see --compress) in‐
              stead of letting it default.  Allowed values for NUM are between
              0 and 9; default when --compress option is specified is  6.   If
              NUM is non-zero, the --compress option is implied.

Сказав это, я признаю, что это не очень объясняет фактическое поведение NUM...

0
ответ дан 26 February 2021 в 09:26

rsync начиная с версии 3.2.0поддерживает больше, чем zlib:

--compress, -z
       turn on compression
--compress-choice=STR, --zc=STR
       choose compression from lz4 (fastest), zstd, zlibx, zlib (slowest), none
--compress-level=NUM, --lz=NUM
       zlib and zstd can be tuned with compression level
       zlib from 1 (lowest) to 9 (highest), default 6
       zstd from -131072 to 22, default 3
2
ответ дан 13 January 2022 в 13:03

Теги

Похожие вопросы