![]() |
|
![]() ![]() ![]() |
|
1234ru |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Планируется вещь, отдаленно напоминающая фотохостинг.
Количество хранимых фотографий может достигать нескольких миллионов (а, может, и больше). Есть пара вопросов: 1. Допустимо ли при таких объемах сваливать все фотографии в один каталог? Или же надо как-то делить? (Лучше ли будет, если сделать подкаталоги, количество которых будет на пару порядков меньше, чем количество фотографий?) 2. Влияет ли на производительность длина имени файла фотографии? Т.е. есть ли разница 398214.jpg или solntse-vstalo-kakaya-prelest.jpg ? Это сообщение отредактировал(а) 1234ru - 18.3.2010, 23:55 |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
нет. Надо делить, по пользователям/датам/хешам.
Это последнее на что нужно смотреть. Так что - не играет роли. -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
1234ru |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Понятно, спасибо. Я так понимаю, при делении нужно стремиться, чтобы не было перекоса, т.е. число подкаталогов = среднее число файлов в каждом каталоге = sqrt(общее число файлов) Верно ли это? |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
Есть вполне конкретные ограничения файловых систем на наличие файлов в одном каталоге. Следует исходить из этого.
Используя всего лишь 1ну латинскую букву или цифру в названии каталогов, при уровне вложенности равной 6ти будет возможно хранить 36^6 = 2 176 782 336 файлов. Этого достаточно для планируемого проекта? ![]() Если недостаточно увеличьте глубину до 12 и храните до 4 000 000 трлн. файлов. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
1234ru |
|
||||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Какие они, эти ограничения?
Не, вложенность 6 не пойдет. Слишком много, потом будет неудобно работать (да и другие причины есть). Я имел в виду, если вложенность два, т.е. все файлы не в одном каталоге, а разбиты по подкаталогам (в смысле, не /dir/files..., а /dir/subdir/files... ). При нескольких миллионах файлов можно сделать тысячу каталогов и хранить по тысяче файлов в каждом. Так нормально будет? |
||||
|
|||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
Разные для каждой файловой системы. Конкретные цифры лучше узнавать в гугле. Я открою секрет, физическое местоположение файла и то под каким соусом он будет доступен через веб - это абсолютно разные и слабо-пересекающиеся вещи. Например, файл доступный по адресу http://mysite.com/user/photo/album1/img1.jpg может находиться где угодно на диске и иметь имя например - bsfdsfwerw2 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
1234ru |
|
||||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Знаю. Все равно
|
||||
|
|||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: нет Всего: 17 |
1234ru, MogileFS распределенная файловая система
|
|||
|
||||
IgorIV |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Хранить-то может и можно миллионы файлов на одном сервере, вот только как их будет отдавать веб-сервер. Надо изначально закладывать расширяемость на несколько серверов.
|
|||
|
||||
xZ0RGx |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 5.6.2009 Репутация: нет Всего: нет |
Во-первых такие вещи надо проектировать а не от балды делать.
1) Для начала выберите ФС и изучите ее возможности. 2) У вас могут банально кончится inode. 3) Как правило в ядре есть такие параметры как max_open_files |
|||
|
||||
IgorIV |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
xZ0RGx,
1 а че выбирать. UFS2 2
Использованно 1 миллион, свободно - 60 миллионов 3 Вот с этим надо экспериментировать. Просто система работающая в роли шлюза - 788 открытых файлов. Хотя нет, вру ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |