FastNetMon

Tuesday, 23 September 2014

Странные проблемы rsync при работе с флагом -z

Итак, есть 16 Гб крупным бинарным файлом.

Пробуем перелить его силами rsync без флага -z:

time rsync -a --progress /vz/private/1210 root@technode4.fv.ee:/tmp/1210
Потребление процессора разумное (32%):
395053 root      20   0  106m 1500  988 R 32.3  0.0   0:06.84 rsync                                                         
Итоги:
sent 16906158370 bytes  received 96 bytes  103 401 580.83 bytes/sec
total size is 16904094532  speedup is 1.00
real 2m42.437s
user 1m23.115s
sys 0m38.441s

Пробуем перелить с флагом -z:
time rsync -az --progress /vz/private/1210 root@technode4.fv.ee:/tmp/1210

Сразу в процессе видно, что скорость падает с 100 мегабайт/секунду до 20, а rsync начинает висеть вот в таком мерзком виде в top (да, да, он целиком выедает ядро процессора): 
391791 root      20   0  106m 1812 1020 R 99.7  0.0   0:54.36 rsync   

В итоге пришлось прервать процесс, так как он не завершился бы в разумные сроки - половина скопировалось лишь за 5 минут и скорость упала до 5 мегабайт/секунду:

real 5m54.894s
user 4m24.249s
sys 0m20.234s
В итоге данные в лучшем случае перелились бы за 10-20 минут, что уже в 4-5 раз хуже, чем вариант без использования сжатия.

Почеум так? Сжатие силами протокола gzip довольно требовательно к процессору и очень быстро упирается в производительность одного ядра, которая даже на топовых процессорах очень слабая.

Сжатие, безусловно, даст ускорение передачи данных, но лишь в случае, когда процессор будет успевать сжимать данные быстрее, чем выдерживает канал связи, этого можно достичь, например, используя внешнее сжатие через парраллельный компрессор pigz.


2 comments :

  1. Скажу даже больше. Сжатие помогает только тогда, когда канал узкий как анус бухгалтера при сдаче отчетности, больше от него профита нет.

    ReplyDelete
    Replies
    1. Ну если использовать pigz - скорость увеличится очень серьезно. Вопрос скорее в том, что однопточное сжатие - ужасно медленное.

      Delete

Note: only a member of this blog may post a comment.