LINUX.ORG.RU

Копирование файлов / Парочка вопросов


0

2

Нужна помочь по оптимизации файловых операций.

Есть директория которая копируется десятки раз в день.
Её размер = 715Мб.

При первом копирование, операция занимает 9-10 секунд. При повторном копирование операция занимает 1-2 секунды. Я так понял всё дело в кеше. Ваш КО.

Вопрос заключается в том есть ли определенный интервал времени сколько будет хранится этот кеш. И можно ли перенастроить эту опцию?

fs: ext4


==============================================

(root)-(jobs:0)-(~)
(! 515)-> time cp -r /home/files/test /tmp/test1

real 0m9.637s
user 0m0.048s
sys 0m1.752s

(root)-(jobs:0)-(~)
(! 516)-> time cp -r /home/files/test /tmp/test2

real 0m1.353s
user 0m0.044s
sys 0m1.184s

(root)-(jobs:0)-(~)
(! 517)-> du -hs /home/files/test
715M /home/files/test


Не совсем понятна задача. Если из одного и того же каталога нужно копировать только изменённые файлы, то почему бы не пользоваться rsync?

Или я неправильно понял?

OldFatMan ()

al1as

есть ли определенный интервал времени сколько будет хранится этот кеш

пока его не вытеснят другие файлы/программы/библиотеки

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

Файлы в этой директории не меняются. Просто копирование происходит в разные места.

Нужно просто ускорить первичную операцию копирование.

al1as ()

Есть директория которая копируется десятки раз в день. Её размер = 715Мб.

засунуть ее в /dev/shm не пробовали? скорость копирования возрастет в разы, а лежать она там будет до следующей перезагрузки.

segfault ★★★★★ ()

Вопрос заключается в том есть ли определенный интервал времени сколько будет хранится этот кеш. И можно ли перенастроить эту опцию?

1. пока не затрётся.

2. зачем?

drBatty ★★ ()

Покажи:

sync && time cp -r /home/files/test /tmp/test1 && time sync
2 разы.

ymuv ★★★★ ()

А как Вам идея воспользоваться ramfs? Монтируете, сливаете на партицию. Все последующее копирование будет выполнятся стабильно быстрее, память резервирована - никто не откусит.

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

Тогда предполагаю, что и копируете в пределах одной ФС. Если да, то просто используйте жесткие ссылки. Или же, как уже было сказано, копируйте каталог сначала в оперативную память, хотя конечно 715Мб в памяти держать не очень-то и охота.

kompas ()

Тогда можно так: 1. Скрипт. 2. Который: 2.1. Делает копию файлов, но пока в директорию с другим именем. 3. Еще скрипт, который 3.1. Переименовывает эту директорию в нужное имя, предварительно стерев старую копию. 3.2. Втихушку, с низким приоритетом делает копию файлов в директорию с другим именем, которую будет использовать при следующем запуске.

anonymous ()

ssd использовать не вариант? С отключением журналирования, разумеется.

AlexCones ★★★ ()

Он врёт. Попробуй отмонтировать и засеки время.

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

Игровые сервера которые не работают с помощью симлинков. У каждого пользователя должна быть своя директория.

al1as ()
Ответ на: комментарий от al1as

Игровые сервера которые не работают с помощью симлинков.

А чем, в таком случае, хардлинки не устраивают?

Axon ★★★★★ ()

LVM во все поля.

делаешь снапшот и из него копируешь.

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

По размеру напоминает КемперСтрайк, там юзер реально меняет только пару файлов.

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

Нет, не все 700. Но изменение всё же есть.

Тогда что мешает делать симлинки на то, что не меяется, и rsync'ом копировать то, что меняется? Однозначно быстрее всего будет.

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

al1as

пробывал делать симлинки

Axon, 17:44:59

А чем, в таком случае, хардлинки не устраивают?

P.S.

пробовал

FIXED

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