|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Gator... 1. Если файлы действительно очень маленькие - возможно MFT превратилось в помойку. Но это нужно смотреть. И ставить нормальный дефрагментатор дисков (не то убожество, что после топора M$ /отсечение всего нужного/ в Windows вошло). 2. Я бы первым делом полез править реестр. 3. Не понятно, как разбит диск. Даже тот же пресловутый размер кластера (хотя для производительности это дело десятое). 4. Откуда взялись такие файлы - не очень понятно. Обычно там PNG (не сжимаются). 5. Таскание между серверами - дело сложное. Обычно тейлы это просто кеш, который сервер должен (десять раз ха) уметь пересчитывать. Просто так копировать их с места на место - это очень странно, там наверное какие-то еще движения нужно делать. С Oracle Map Viewer например "все не так однозначно". До сих пор нифига не понимаю, как он тейловый кэшь чистит, все время матюгаюсь. 6. Ну и какое оборудование... В принципе, сейчас есть относительно недорогие (домашняя версия до 10 т.р.) SSD-устройства, которые должны "просто летать" (если конечно от полета не перегорят). При объемах ТС, меньше 1 Gb, вполне можно и нормальную железку воткнуть. etc...etc...etc... Ну и при такой специфической задаче, под нее явно должен быть бюджет ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 19:00 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Максим НДа, раз в месяц примерно, но схем много очень.На предыдущей работе я участвовал в эксплуатации ИС с бОльшим файловым хранилищем - более миллиона (пользовательских) файлов в паре сотен гигабайт. После того, как разработчики вычистили косяки многопоточного доступа - проблемы на прикладном уровне исчезли. Проблем на уровне файловой системы - не было. Правда, в нашем случае некритично время доступа к файлам, но при адекватном хранилище оно будет укладываться в единицы-десятки миллисекунд без каких-либо дополнительных усилий. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 19:03 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov> Если опираться на объективные данные, а не на /эвристику/ "диспетчеров файлов", то на NTFS /мелкие/ файлы не занимают ни одного кластера. Объективые - это куда?.. Размер папки и по сведениям FAR'а, и по сведениям Свойств папки от M$ - идентичны и кратны... См. выше Allocated и File size... -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 20:17 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
zirraРазмер папки и по сведениям FAR'а, и по сведениям Свойств папки от M$ - идентичны и кратны...Это означает лишь то, что оба они используют одинаковую эвристику См. выше Allocated и File size...Уже демонстрировал, но повторю ещё раз: D(isk)U(sage) Руссиновича и (штатный) fsutil Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
"Хаки" типа жёстких ссылок или/и разреженных (sparse) файлов не использовались - сначала создаём файлы нулевого размера, а потом при-copy-рываем к каждому по сто байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 22:26 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorovто на NTFS мелкие файлы не занимают ни одного кластера.МFT, ясен пень, витает в облаках и кластеры не занимает. Как и служебные журналы, права etc ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 22:28 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev...Я разве спорю? Я про Эх, ррраз (да што ты), да ишшшо раз (да што ты)... . ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 22:33 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov> Уже демонстрировал, но повторю ещё раз: > + D(isk)U(sage) Руссиновича и (штатный) fsutil Вася, ты извини, но... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Или ты мне что-то другое, про какие-то фокусы с обнулениями говорить хочешь?.. У меня там файлы от 120Б до 82КиБ... Большинство: меньше кластера... Из них: большая часть порядка 512Б... .... fsutil, к сожалению умеет только за весь диск говорить, а не за каталог... -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 22:45 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
zirrafsutil, к сожалению умеет только за весь диск говорить, а не за каталог...Не надо считать меня совсем тупым. Тест, разумеется, не делался на системном разделе и, разумеется, был единственным писателем. Так что все изменения числа свободных кластеров являются результатом работы с файлами в одном-единственном каталоге. P.S. Даже если бы NTFS не умела оптимизировать хранение мелких файлов, миллион кластеров стандартного размера в четыре килобайта это меньше четырёх гигабайт дискового пространства. По сегодняшним временам это не тот объём, оптимизацией использования которого надо срочно заняться. Тем более, что ТС озвучил на порядок меньшее число файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 22:58 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov> Тест, разумеется, не делался на системном разделе и, разумеется, был единственным писателем. Ну при чём тут вымышленные и высосаные тесты?.. Я тебе показываю результат реального своего каталога, где реальный размер файлов отличается от занятого в 4 с гаком раза... ЗЫ. Никто никого никем не называет... Ты мне просто пытаешься сферического коня какого-то втюхать, а я тебе показываю реальность, данную мне в ощущениях... ЗЗЫ. Если правильно помню, то на старом реальном диске я ставил кластер 512Б... Но там с большими файлами стали быть проблемы... -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 23:03 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
zirraНу при чём тут вымышленные и высосаные тесты?..При том, что они имеет гораздо лучше соотносятся с ситуацией ТС, чем демонстрация результатов работы эвристики на произвольно взятом каталоге.Я тебе показываю результат реального своего каталога, где реальный размер файлов отличается от занятого в 4 с гаком раза...Прибавляем к ненулевому размеру каждого файла половину размера кластера, нацело делим на размер кластера и умножаем результат на размер кластера. Для файлов нулевого размера ставим размер кластера. Суммируем и должны получить то, что выдаёт d(isk)u(sage). Для не очень большого суммарного размера файлов можно проделать исключительно штатным cmd.exe. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 23:19 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
zirraЕсли правильно помню, то на старом реальном диске я ставил кластер 512Б... Но там с большими файлами стали быть проблемы...Яркий, кстати, пример вредности преждевременной оптимизации. P.S. NTFS это вам не HPFS ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 23:20 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov> Яркий, кстати, пример вредности преждевременной оптимизации. > P.S. NTFS это вам не HPFS Ну, тут я ничего ляпать не буду, т.к. с оным не пришлось работать ни разу... Но когда "диски были маленькими", для msg у меня был отдельный мелкий дисочек с 512Б... Вполне экономило, пока траффик от поинтов не заставил его прибить и перенести всё на общий диск... .... Вообще, ТСу понадавали тут кучу вариантов, пусть сам тестирует уже́!.. Лучше него же - всё равно никто не справится... ;-) -- Vladimir A.Bakhvaloff Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 23:32 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev1. Если файлы действительно очень маленькие - возможно MFT превратилось в помойку. Но это нужно смотреть. И ставить нормальный дефрагментатор дисковЯ бы не сказал, что contig "надо ставить": contig -v C:\$Mft Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
В частности, уже нельзя простым способом необратимо раздуть MFT. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 01:18 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
В принципе с хранением такого количества, не должно быть проблем. Вот архивировать такое количество, или просто скопировать по сети - тоже не проблема, а просто очень долго, и это надо делать в рабочее время, дабы заполнить весь свой день копированием Максим НСоответственно обновление такого хозяйства происходит очень медленно и ресурсозатратно, часто сопровождается ошибками.Вот здесь неплохо бы подробнее, что такое "обновление"? Записать десяток новых файлов, стереть десяток старых - не должно быть проблем. Максим ННа счет Windows еще не знаю, но под *nix вроде есть ФС, которая хранит файлы в сжатом виде, но доступны они в обычном виде.Так приложение под виндой или под *nix? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 10:00 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
S.G.В принципе с хранением такого количества, не должно быть проблем. Вот архивировать такое количество, или просто скопировать по сети - тоже не проблема, а просто очень долго, и это надо делать в рабочее время, дабы заполнить весь свой день копированием Максим НСоответственно обновление такого хозяйства происходит очень медленно и ресурсозатратно, часто сопровождается ошибками.Вот здесь неплохо бы подробнее, что такое "обновление"? Записать десяток новых файлов, стереть десяток старых - не должно быть проблем. Максим ННа счет Windows еще не знаю, но под *nix вроде есть ФС, которая хранит файлы в сжатом виде, но доступны они в обычном виде.Так приложение под виндой или под *nix? Все под виндой. Обновление - это залить архивчик с 3-4 сотнями тысяч тайлов, мегабайт на 800. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 10:17 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Тайлы это png-файлы, размером ровно в 1,79 Кб. Про 40 раз не шучу, могу пруф сделать (возможно это связано с тем, что есть однотипные файлы, одинаковые в разных подпапках). Попробовал ужать один png-файл в 7z, он стал размером в 331 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 10:21 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Максим НПопробовал ужать один png-файл в 7z, он стал размером в 331 байт. Для пнг и оптимизаторы есть, до двух раз "ужимают". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 10:26 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
wadmanДля пнг и оптимизаторы есть, до двух раз "ужимают".не факт, что потом они "склеются" в карту ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 11:36 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Чего мне вообще нужно - максимально оптимизировать работу с такими файлами, т.к. когда 20 Мб архив распаковывается на 800 Мб (это чистый размер, не "на диске") это по моему не нормально, даже если сменю размер кластера с 4 Кб на 2 Кб навряд ли ситуация кардинально изменится. Причем такая распаковка 7z-архива зачастую сваливается с ошибкой "Insufficient system resources exist to complete the requested service". Чтобы копирование тайлов с одного сервака на другой (такая необходимость иногда возникает) не выполнялось 2-3 дня как сейчас. Документацию геосервера читаю, ответа пока не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 12:06 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Можно раздельно подходить к разным проблемам и ошибки, а не сваливать все в одну кучу? Максим НЧего мне вообще нужно - максимально оптимизировать работу с такими файлами, Оптимизация - это процесс зависящий от критериев, что и зачем оптимизируется. Максим Нт.к. когда 20 Мб архив распаковывается на 800 Мб (это чистый размер, не "на диске") это по моему не нормально Почему это не нормально? Вам для "картографического сервера" жалко купить 1 SSD-диск не очень большого объема? У меня дома _отдельный_ SSD диск куплен _специально_ под игрушку Lineage 2 за 2 тыс. рублей. И я вообще не парюсь, сколько и чего там занято. Работает и хорошо... нафиг трогать.... Если у Вас нет 2-10 тыс. рублей на диск... что тут посоветовать... Максим Ндаже если сменю размер кластера с 4 Кб на 2 Кб навряд ли ситуация кардинально изменится а ЗАЧЕМ ее менять? Максим НПричем такая распаковка 7z-архива зачастую сваливается с ошибкой "Insufficient system resources exist to complete the requested service". Единственная и первая конкретика в данной теме. 7z не пользуюсь, нормальные архиваторы падать на мой взгляд не должны. Чье это сообщение и чья ошибка (архиватора или ОС) не глядя на систему сказать сложно. Максим НЧтобы копирование тайлов с одного сервака на другой (такая необходимость иногда возникает) не выполнялось 2-3 дня как сейчас. Вторая конкретика. Только, как Вы умудряетесь копировать < 1G информации за 2-3 дня и причем тут ХРАНЕНИЕ файлов - для меня загадка. Заархивировали файлы на одном компьютере _нормальным_ и более менее стандартным архиватором (7z я таким не считаю). Скопировали архив. Разархивировали. Если операция частая и "картографический сервер" реально нужен, купить _выделенный_ SSD диск 64-128 Gb для хранения тейлов за <10 000 руб, на мой взгляд можно себе позволить. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 15:02 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Про "Insufficient system resources exist to complete the requested service" при дисковых операциях информации в Инет полно. Но все опять упирается что никакой конкретики Вы не сообщили и вытягивать ее из Вас через форум это достаточно бредово. Так же как давать рекомендации по правке реестра, плохо понимая, что на Вашем компьютере происходит на самом деле. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 15:36 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Ситуация осложняется тем, что данная система работает на 30 совершенно разных серваках, разбросанных по всей Необъятной у клиентов. Поэтому просто так взять и поставить SSD диск не получится, так же как и покопаться в логах и трейсах, т.к. все выполняется только через местных администраторов, официальные письма и т.д. Leonid KudryavtsevОптимизация - это процесс зависящий от критериев, что и зачем оптимизируется. Было интересно услышать Бест Практис. Leonid KudryavtsevВторая конкретика. Только, как Вы умудряетесь копировать < 1G информации за 2-3 дня и причем тут ХРАНЕНИЕ файлов - для меня загадка. Бывают ситуации, когда нужно перенести ВСЕ тайлы на новый сервак например, или на новый диск (средний размер 100 Гб). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 17:06 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Максим Нкогда 20 Мб архив распаковывается на 800 Мб (это чистый размер, не "на диске") это по моему не нормальноВас пугает степень сжатия?! Т.е. "автор думал, когда текст писАл", хорошо сделал свою работу, но вы всё равно недовольны??? Как-то даже не знаю, что и сказать ...Причем такая распаковка 7z-архива зачастую сваливается с ошибкой "Insufficient system resources exist to complete the requested service"Попробуйте что-нибудь изменить. Способ упаковки, версию, архиватор.Чтобы копирование тайлов с одного сервака на другой (такая необходимость иногда возникает) не выполнялось 2-3 дня как сейчасКопирование состоит из трёх этапов - открытия (создания) файла, собственно копирования данных и, возможно атрибутов, закрытия файлов. Длительность первой и третьей фазы от размера файлов не зависит. Поэтому, когда копируется один файл размером в гигабайт - упираемся в пропускную способность, когда миллион файлов по килобайту - во время, слабо зависящее от пропускной способности, но сильно зависящее от задержек (латентности) канала передачи данных. При озвученных вами размерах отдельного файла и суммарном их размере получается около полумиллиона файлов. Я бы сказал, что два-три дня - много. Где-то в разы, но не на порядок. Это если используется именно копирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 17:06 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Максим НСитуация осложняется тем, что данная система работает на 30 совершенно разных серваках, разбросанных по всей Необъятной у клиентов. Поэтому просто так взять и поставить SSD диск не получится, так же как и покопаться в логах и трейсах, т.к. все выполняется только через местных администраторов, официальные письма и т.д.Научитесь делить зоны ответственности. Преамбула: если вы не являетесь аутсорсером, который администрирует систему клиента, не надо пытаться выполнять работу системного администратора - хреновому не поможете, хорошего - разозлите. Амбула: Либо делаем тестовые системы нескольких конфигураций, оптимально их настраиваем, снимаем характеристики и выдаём клиенту параметры и результат, как ориентиры, либо просто сообщаем, что "система с такими-то параметрами обеспечивает такие-то результаты". Дальше уже пусть клиент решает - готов ли он заплатить деньги за своих хотелки.Бывают ситуации, когда нужно перенести ВСЕ тайлы на новый сервак например, или на новый диск (средний размер 100 Гб).Если, опять-таки, опираться на средний размер в два килобайта, то сто гигабайт это примерно пятьдесят миллионов файлов. Я бы сказал, что два-три дня в такой ситуации - хороший результат. Особенно при копировании через сеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 17:17 |
|
Как правильно хранить огромное количество мелких файлов?
|
|||
---|---|---|---|
#18+
Basil A. SidorovЕсли, опять-таки, опираться на средний размер в два килобайта, то сто гигабайт это примерно пятьдесят миллионов файлов. Я бы сказал, что два-три дня в такой ситуации - хороший результат. Особенно при копировании через сеть. Что a) отличается от заявленных автором сотни тысяч файлов в первом сообщении b) копировать настолько мелкие файлы через сеть, это самоубийство и дэбилизм. Запаковали, архив перенесли, разпаковали. c) Когда мне в свое время нужно было копировать много файлов на одном диске, я даже специальные плагины под FAR ставил. Т.к. ждать пока все пофайлово скопируется даже десяток минут, мне было влом. Если кто-то хочет копировать по два-три дня и неделями. Ну что же... Ctrl-C, Ctrl-V и пусть наслаждается... Каждый сам себе мазохист Ну и подводя итоги: a) Автор хочет от нас услышать Бест Практикс и создание документации администратора, рекомендаций по выбору железа, рекомендаций по настройке ОС и железа и так далее - работа в общем то платная и _сильно_ платная b) Собственно геоинформационной системой у автора в конторе никто не занимается. Судя по постам ТС, он и жнец и на трубе дудец (все от Unix до Windows, Oracle, Postgress, Java, Net etc) - успехов c) Такие системы должны стоить не просто дорого, а очень дорого. - см. п.1 Не говоря уже о том, что пошла х.з. какая страница темы, а до сих пор не сказана ни версия Windows , ни название картографического софта , ни размещение по дискам , ни конфигурацию железа , ни реальных проблем и ошибок etc..etc..etc... Если все запихали в RAID-5, свалили на системный диск, работают методом Ctrl-C, Ctr-V в эклорере и так далее. Помойка она и есть помойка. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 17:43 |
|
|
start [/forum/topic.php?fid=26&msg=38673697&tid=1492477]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 206ms |
0 / 0 |