LINUX.ORG.RU
ФорумAdmin

Не могу вспомнить имя инструмента для быстрого rsync (С большим буфером в RAM)


2

4

приветствую, о многоуважаемы Олл!

Прогуглил но не нашел имени инструмента который есть в репозитарии Debian и позволяет делать типа rsync или cp -r с большим буфером в памяти. т.е. Прочитать 1000 мелких файлов в буфер 4Gb и записать этот буфер. Иначе копирование в пределах одного диска (между разными разделами) сильно сажает производительность.

Помню что такой инструмент есть, но имени не могу вспомнить.

★★★

На моей памяти единственная программа, что копировала файлы скопом — Dos Navigator.

i-rinat ★★★★★
()
Ответ на: комментарий от ddos3

А оно вообще имеет смысл, учитывая буферизацию записи в ядре?

Не знаю. У меня 3T Seagate (ST3000VN000-1H4167)
zfs с упаковкой lz4
# dd if=/dev/zero of=1Gb.dat bs=1048576 count=1024
1024+0 записей считано
1024+0 записей написано
скопировано 1073741824 байта (1,1 GB), 13,684 c, 78,5 MB/c

# dd if=1Gb.dat of=/dev/null
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 52,5498 c, 20,4 MB/c

# dd if=1Gb.dat of=1Gb-copy.dat
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 126,002 c, 8,5 MB/c

Впрчем тут фактор онлайновой упаковки... отрубаем:
# dd if=/dev/zero of=1Gb.dat bs=1048576 count=1024
1024+0 записей считано
1024+0 записей написано
скопировано 1073741824 байта (1,1 GB), 60,8314 c, 17,7 MB/c

# dd if=1Gb.dat of=/dev/null
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 30,3027 c, 35,4 MB/c

# dd if=1Gb.dat of=1Gb-copy.dat
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 519,388 c, 2,1 MB/c

Теперь то же на ext4 (ST500DM002-1BD142)

# dd if=/dev/zero of=1Gb.dat bs=1048576 count=1024
1024+0 записей считано
1024+0 записей написано
скопировано 1073741824 байта (1,1 GB), 3,89858 c, 275 MB/c

# dd if=1Gb.dat of=/dev/null
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 3,78468 c, 284 MB/c

# dd if=1Gb.dat of=1Gb-copy.dat
2097152+0 записей считано
2097152+0 записей написано
скопировано 1073741824 байта (1,1 GB), 30,0527 c, 35,7 MB/c

Итого
zfs-lz4 78,5/20,4/8,5
zfs-off 17,7/35,4/2,1
ext4 275/284/35,7

ext4 конечно не так драматично как zfs но всё же 35 а не 200+
Конечно тут и кэш...

n0mad ★★★
() автор топика
Последнее исправление: n0mad (всего исправлений: 1)
Ответ на: комментарий от i-rinat

На моей памяти единственная программа, что копировала файлы скопом — Dos Navigator.

Увы в Линукс есть инструмент, но имя...

n0mad ★★★
() автор топика
Ответ на: комментарий от n0mad

Для чистоты эксперимента стоило бы добавить bs=1048576 count=1024 во всех случаях (dd по дефолту читает и пишет по 512 байт за раз). Но общая картина ясна.
Я у себя тестировал копирование 10000 файлов по 100КБ на ext4. cp отработал медленно, но rsync выдал результат сравнимый с линейным чтением + записью.

ddos3
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.