[devel] comprehensive rsyncability test
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Июн 2 14:06:56 MSD 2008
On Sat, May 31, 2008 at 10:58:47PM +0400, Alexey Tourbin wrote:
> Предлагаю протестировать rsyncability двух каталогов:
> /ALT/archive/Sisyphus/2008/03/01/files/x86_64/RPMS
> /ALT/archive/Sisyphus/2008/04/01/files/x86_64/RPMS
>
> Методика тестирования следующая:
> 1) Из каталогов парами выбираются файлы, у которых совпадает
> имя пакета %{NAME}, но при этом не совпадает имя файла
> %name-%version-%release.x86_64.rpm.
> 2) Для каждой пары пакетов извлекается cpio архив и перепаковывается
> с помощью rsyncable gzdio из нового rpmio.
> 3) Отсекаются маленькие пакеты: оба перепакованных архива должны быть
> больше 32K.
> 4) Запускается rsync, который диагностирует степень "совпадения" двух
> перепакованных архивов.
>
> Полный результат приведён в таблице, которую я прицепил к письму.
> Таблица подразумевает следующий заголовок.
>
> файл-1 размер-1 файл-2 размер-2 послано скочено speedup
> ------ -------- ------ -------- ------- ------- -------
> $ sum() { perl -MList::Util=sum -ln0 -e 'print sum split'; }
> $ cut -f4 rsyncability.txt |sum
> 2433627
> $
>
> Общий размер новых пакетов 2.32G.
>
> $ cut -f6 rsyncability.txt |sum
> 1643033
> $
>
> При этом rsync скачал 1.57G.
Из интереса я запустил почти такой же тест, но для РАЗЖАТЫХ cpio.
Результаты получились следующие.
$ cut -f4 cpio.txt |sum
7091196
$
Общий объем новых пакетов в разжатов виде 6.76G.
$ cut -f6 cpio.txt |sum
3330604
$
При этом rsync скачал 3.18G, то есть 47% от расжатого объема.
Напомню, что для сжатых данных rsync скачал 67%.
О чём это говорт? Это говорит о том, что rsync даже в идеале
не является радикальным решением проблемы синхронизации пакетов.
ДАННЫЕ В ПАКЕТАХ РЕАЛЬНО МЕНЯЮТСЯ (в репрезентативной выборке --
примерно наполовину по объему), так что rsync заведомо имеет некоторый
эмпирический предел. Нельзя найти ещё больше совпадающих кусков там,
где их нет.
Это также говорит о том, что rsyncable deflate значительно уменьшает
максимально возможное значение rsyncability (отношение скаченного
rsync'ом к общему объему). Это наводит на мысль, что rsyncable
compression по сути является компромиссом между compression и
rsyncability. Ultimate compression получается при большой размере
словаря и исключает rsyncability. А ultimate rsyncability получается
на несжатых данных.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080602/1de90186/attachment-0002.bin>
Подробная информация о списке рассылки Devel