производительность tar -xf для большого количества файлов

Стать пользователем root (конечно), например через sudo -s .

Затем запустите:

pvscan
vgscan
vgchange –available y
lvscan

pvscan ищет любой физический том LVM на подключенных устройствах.

vgscan затем ищет любые группы томов LVM на обнаруженных физических томах.

vgchange -available y отмечает обнаруженные группы томов как активные.

lvscan наконец ищет логические тома в обнаруженных группах томов.

Теперь логические тома должны быть доступны в / dev / mapper / volgroup-logvol (где, конечно, volgroup-logvol зависит от вашей конфигурации).

Эти шаги в основном выполняются во время загрузки, поэтому вы можете получить доступ к логическим томам напрямую, когда диск был доступен во время загрузки.

2
01.09.2016, 10:12
2 ответа

Это во многом зависит от используемой файловой системы. Плоский каталог будет медленным в ext2 и других старых файловых системах, которым требуется O (n) запросов, чтобы проверить, существует ли запись каталога с определенным именем. ext3/4 и другие современные файловые системы используют древовидные индексы для больших каталогов, поэтому им требуется только время поиска O(log n)

. Тот же вопрос можно задать для упаковки (tar -cf), но для меня это менее важно.

С другой стороны, создание tar во многом зависит от дискового ввода-вывода и от того, выполняет ли реализация упреждающее чтение. Небольшие файлы подвергаются большому количеству случайных чтений, а упреждающее чтение одного файла неэффективно для небольших файлов. Я написал fastarкак специализированную реализацию для этого варианта использования, которая оптимизирует порядок чтения файлов и выполняет упреждающее чтение для нескольких файлов.

1
27.01.2020, 22:04

Разница во времени извлечения незначительна по сравнению с общим временем извлечения, по крайней мере, в масштабе ta (тысячи файлов). Формат tar на удивление прост: в основном это конкатенация заголовка и файла, заголовка и файла. Поэтому, когда вы извлекаете, tar просто распаковывает данные. В частности, ему все равно, перезаписывает ли он существующий файл, поэтому он не тратит время на проверку. (tar-архивы с абсолютными путями обрабатываются немного по-другому, но в любом случае это плохая практика работы с tar).

0
27.01.2020, 22:04

Теги

Похожие вопросы