gzip
time tar -cpzf /var/backup/4601.tar.gz -C /vz/private/4601 .
real 3m10.887s - это астрономическое время
user 3m0.454s
sys 0m8.755s
pigz
time tar --use-compress-program=pigz -cpf /var/backup/4601.tar.gz -C /vz/private/4601 .
real 0m27.728s - это астрономическое время
user 4m3.871s
sys 0m7.412s
tar без сжатия
time tar -cpf /var/backup/4601.tar -C /vz/private/4601 .
real 1m10.247s
user 0m1.400s
sys 0m7.596s
Итого, pigz где-то в 6 раз быстрее, нежели gzip. Вообще, несмотря на hyper threading, это как раз равно числу физических ядер испытуемой машины. Кроме этого, pigz вдвое быстрее, чем просто tar без сжатия. Насколько я понимаю, это объясняется тем, что данных пишется меньше и процессор снимает данные быстрее, чем осуществляется простая запаковка без сжатия.
Далее привожу более-менее корректно проведенные тесты на архивацию уже сжатого tar.gz архива.
Сжатие pigz:
real 0m19.414s
user 2m21.545s
sys 0m4.596s
real 0m19.371s
user 2m20.833s
sys 0m4.720s
real 0m19.218s
user 2m21.341s
sys 0m4.368s
Сжатия gzip:
real 1m37.801s
user 1m35.586s
sys 0m3.388s
real 1m38.116s
user 1m35.990s
sys 0m3.284s
real 1m38.371s
user 1m36.222s
sys 0m3.092s
Без сжатия:
real 0m3.175s
user 0m0.052s
sys 0m1.908s
real 0m4.768s
user 0m0.072s
sys 0m2.520s
real 0m5.012s
user 0m0.100s
sys 0m2.456s
Причем, в режиме pipe pigz также дает серьезный прирост:
time cat Counter-Strike_LinuxServer_with-AmxModX.tar.gz | pigz > archive.pigz
real 0m1.608s
user 0m15.246s
sys 0m0.688s
time cat Counter-Strike_LinuxServer_with-AmxModX.tar.gz | gzip > archive.gz
real 0m10.647s
user 0m10.138s
sys 0m0.602s
Другие бенчмарки: http://www.unixdaemon.net/tools/commandline/pigz-parallel-gzip.html, http://edwin.io/pigz-vs-gzip-benchmark
No comments:
Post a Comment
Note: only a member of this blog may post a comment.