The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Хранение картинок"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (nginx)
Изначальное сообщение [ Отслеживать ]

"Хранение картинок"  +/
Сообщение от mef (ok) on 09-Янв-11, 13:12 
Есть связка nginx+Apache. Размер картинок не более 50кб каждая. Количество 100-200 тыс, периодически меняются. Решено хранить в базе только названия файлов, а сами файлы в файловой системе. Имеет ли смысл делать поддиректории или можно хранить все в одной? На сколько это критично с точки зрения производительности?
Если разбивать на поддиректории, то по сколько файлов в каждой или может быть есть другой принцип разбития?
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Хранение картинок"  +/
Сообщение от Аноним (??) on 09-Янв-11, 18:07 
Более чем имеет. Такое количество файлов можно назвать серьёзной нагрузкой на файловую систему (даже ext3 больше 32 000 в одном каталоге не поддерживает). Разбивать рекомендую так: 123456.jpg (6 байт на собственно название без расширения), из них берём последние два символа - первый каталог, вторые два символа - второй каталог, в итоге получается что-то вроде:

img/56/34/123456.jpg

Так мы получаем быстрый поиск по файловому дереву, ну и поддержка не самых новых ФС в качестве бонуса.

Кстати, зайдите в /usr/bin, засеките время чтения ФС и количество файлов в нём. Вы увидите насколько может тормозить чтение большого списка файлов.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Хранение картинок"  +/
Сообщение от Vlas (ok) on 10-Янв-11, 00:11 
> из них берём последние два символа - первый каталог, вторые два
> символа - второй каталог, в итоге получается что-то вроде:
> img/56/34/123456.jpg

А почему не с первых символов? Что-то вроде
img/12/34/123456.jpg

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Хранение картинок"  +/
Сообщение от Аноним (??) on 10-Янв-11, 16:56 
>> из них берём последние два символа - первый каталог, вторые два
>> символа - второй каталог, в итоге получается что-то вроде:
>> img/56/34/123456.jpg
> А почему не с первых символов? Что-то вроде
> img/12/34/123456.jpg

Чтобы равномерно распределить файлы по каталогам, а то на нулях спереди большая часть файлов будет храниться.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Хранение картинок"  +/
Сообщение от Vlas (ok) on 10-Янв-11, 23:01 
> Чтобы равномерно распределить файлы по каталогам, а то на нулях спереди большая
> часть файлов будет храниться.

А если имена файлов идут не по порядку? И также содержат буквы (генерятся рандомно)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Хранение картинок"  +/
Сообщение от Аноним (??) on 10-Янв-11, 23:40 
> А если имена файлов идут не по порядку? И также содержат буквы
> (генерятся рандомно)

Тогда надо думать. К каждому методу свой подход.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру