Я ищу самую быструю gzip
(или почтовую) утилиту. У меня есть объем LVM, который на 95% существует из пустых 0
, так что сжатие это очень легко. Я ищу самое быстрое решение, и меня не волнует сжатие, кроме 0
s.
Я знаю gzip -1
(так же, как gzip --fast
), но мне было интересно, есть ли более быстрый метод.
Благодарю.
Edit:
после некоторых тестов, я сравнил gzip -1
, lzop -1
и pigz -1
с Афоризм и пришел к следующим результатам:
PIGZ:
time dd if=/dev/VPS/snap | pigz -1 | ssh backup-server "dd of=/home/backupvps/snap.pigz"
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 2086.87 seconds, 25.7 MB/s
7093985+266013 records in
7163950+1 records out
3667942715 bytes (3.7 GB) copied, 2085.75 seconds, 1.8 MB/s
real 34m47.147s
LZOP:
time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1829.31 seconds, 29.3 MB/s
7914243+311979 records in
7937728+1 records out
4064117245 bytes (4.1 GB) copied, 1828.08 seconds, 2.2 MB/s
real 30m29.430s
GZIP:
time dd if=/dev/VPS/snap | gzip -1 | ssh backup-server "dd of=/home/backupvps/snap_gzip.img.gz
104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1843.61 seconds, 29.1 MB/s
7176193+42 records in
7176214+1 records out
3674221747 bytes (3.7 GB) copied, 1842.09 seconds, 2.0 MB/s
real 30m43.846s
Изменить 2 :
Это несколько не связано с моим первоначальным вопросом, однако при использовании time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"
(размер блока изменен на 16M) время сокращается до real 18m22.442s
!
источник
time
таким образом. Пропускная способность используемого ddpigz
ниже, чем у двух других.Ответы:
Если вы не возражаете отойти от DEFLATE,
lzop
это реализация LZO, которая предпочитает скорость перед степенью сжатия.источник
lzop
самый быстрый в моем сценарии. Это быстрее, чемpigz
как-то (вероятно, из-за партии 0).Хотя я лично еще не использовал его, я думаю, что использование параллельного gzip может немного ускорить процесс:
источник
Вы можете попробовать Parallel Gzip (Pascal связал его) или Parallel BZIP.
Теоретически, BZIP гораздо лучше подходит для текста, поэтому вы можете попробовать pbzip .
источник
Ваш диск ограничен в 30 МБ / с
Все компрессоры работают достаточно хорошо. Вы даже можете уменьшить передачу по сети, используя чуть медленнее, но вездесущий bzip2.
Рассматривали ли вы rsync? Это делает контрольную сумму, а затем распаковывает только разницу.
источник
pigz -1: 1073741824 bytes (1.1 GB) copied, 8.6779 seconds, 124 MB/s
иgzip -1: 1073741824 bytes (1.1 GB) copied, 11.6724 seconds, 92.0 MB/s
. Я думал о rsync, но это проверило бы различия в файлах, и это, вероятно, не помогло бы, поскольку в большинстве случаев многое изменилось.Re: lzop медленнее при его конфигурации std ... Тонкая настройка может половину времени. Но есть еще более быстрая замена: blosc:
https://github.com/FrancescAlted/blosc
Хм ... Время, которое потребовалось, чтобы опубликовать это и получить ответы, вероятно, по крайней мере удваивает любую экономию времени, которую вы получите, хотя ... Теперь извините меня, пока я перекомпилирую свое ядро, чтобы сбрить другие .1s из моего времени загрузки 2s.
источник