LINUX.ORG.RU
ФорумTalks

Возможно ли добиться производительности на операциях с мелкими файлами?

 ,


0

1

Чтение всякой мелочевки (в количестве сотнями тысяч файлов по 10-100кб) потрясающее. Но запись - полный п-ц.

Возможно ли как-то добиться роста этого? Может какие-то контроллеры умеют?


для работы с мелкими файлами райзер лучшая файловая система, но вот как она с ссд дружит я хз

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

К сожалению, фс может быть только нтфс. Но я бы хотел именно железячный вопрос рассматривать, без религий.

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

Я хз что у вас там, у меня 550 мб ядро с 48000 файлов 10 сек копируется.

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

Утром с компа проверю.

dk-
() автор топика

Поставь парагоновский драйвер

Lordwind ★★★★★
()

Не все читают теги. Прямо напиши — под оффтопиком, ntfs, на SSD.

Может SAS будет лучше. Не знаю, в какую копеечку выльется SAS SSD + SAS контроллер.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от steemandlinux
[fjfalcon@localhost ~]$ time tar -xJf linux-3.13.5.tar.xz

real	0m5.690s
user	0m5.567s
sys	0m2.857s
[fjfalcon@localhost ~]$ cd linux-3.13.5
[fjfalcon@localhost linux-3.13.5]$ mkdir ~/linux-core
[fjfalcon@localhost linux-3.13.5]$ time cp * ~/linux-core -R

real	0m1.623s
user	0m0.057s
sys	0m1.427s

ssd, ext4 xD

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

Большая часть ушла в кэш, в RAM, так что ерунда.

Deleted
()
Ответ на: комментарий от dk-

К сожалению, фс может быть только нтфс

1) на шиндовсе ФС может быть fat32, и иногда она быстрее (небольшой размер диска + небольшая вложенность каталогов + всегда ищутся только те файлы, которые действительно существуют). Не факт что у тебя будет быстрее, но можно попробовать :)

2) ФС может находиться на RAM диске (погугли windows ram drive)

stevejobs ★★★★☆
()
Ответ на: комментарий от dk-

Это особенность записи мелочёвки. Так что вряд ли получится лучше.

Quasar ★★★★★
()

По идее должно быть API для асинхронной работы навроде флажка OVERLAPPED в WinApi. Взял, сказал «запиши мне данные в -дцать файлов и доложи об исполнении». Делать это в N потоков. По идее драйвер как то хитро всё это оптимизирует. Тормоза всегда там где есть синхронный говнокод.

ranka-lee
()
Ответ на: комментарий от dib2
[fjfalcon@localhost ~]$ time tar -xJf linux-3.13.5.tar.xz

real	0m5.896s
user	0m5.783s
sys	0m2.533s
[fjfalcon@localhost ~]$ mkdir ~/linux-kernel
[fjfalcon@localhost ~]$ cd linux-3.13.5
[fjfalcon@localhost linux-3.13.5]$ time cp * ~/linux-kernel/ -R

real	0m1.600s
user	0m0.087s
sys	0m1.417s
[fjfalcon@localhost linux-3.13.5]$ time sync

real	0m5.184s
user	0m0.003s
sys	0m0.033s
[fjfalcon@localhost linux-3.13.5]$ 

ext4, ssd xD

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

Рам драйва на 0.5-5тб быть не может (ну может, но не у меня, нищебродс)

dk-
() автор топика
Ответ на: комментарий от baka-kun

Как-то фантастично звучит. Но попробую сделать.

dk-
() автор топика
Ответ на: комментарий от steemandlinux

Положил на ссд.

Распаковка до тара (несжатого) севензипом - 9сек.

Распаковка до файлов (туда же на ссд) - 39сек.

Копирование распакованных файлов внутри ссд - 50сек.

Копирование с ссд на винт (540гб, 5400рпм, 2,5") - 100сек.


П-ц.

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

Смысла нет. У меня работа с мелкими жипегами, которых сотни тыщ.

Для этого и придуманы key-value хранилища. Если не хочешь с базами связыватся и обязательно нтфс - уменьш количество файлов в одном каталоге, или, для извращения - поставь в виртуалку линукс с быстрой ФС, а доступ к файлам через сеть ;)

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

Все три предложения либо нереальны либо все затормозят (сеть).

:)

Нужно именно писать/читать файло на том.

dk-
() автор топика
Ответ на: комментарий от andrewzvn

А, ты про это. Ну тайлы режутся и складываются группами. Вроде больше 10к в одном не лежит.

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