Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 21.11.2010, 18:25
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

А часто ставить cron-у задачи?
Просто если каждую минуту, это же на сервер большая нагрузка или нет?
Я кроном никогда не пользовался.
И предпложим будет ну 1000000 пользователей, то получается, cron-у надо во все папки зайти и глянуть нет ли там старых фото?
Или это делать раз в день, часа в 3 ночи, когда пользователей нет?
Ответить с цитированием
  #22 (permalink)  
Старый 21.11.2010, 18:39
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от mycoding
1000000
хорошие планы)) У нашей компании тоже есть стоковый магазин фото, но таких цифр за сутки еще не было

Сообщение от mycoding
то получается, cron-у надо во все папки зайти и глянуть нет ли там старых фото?
Можно одну общую папку создать для всех пользователей
Сообщение от mycoding
Или это делать раз в день, часа в 3 ночи, когда пользователей нет?
да, раз в сутки запускать, с пользователями это никак не будет связано
Ответить с цитированием
  #23 (permalink)  
Старый 21.11.2010, 18:48
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 02.02.2011 в 15:14.
Ответить с цитированием
  #24 (permalink)  
Старый 21.11.2010, 19:41
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Вообще планирую где то около 1000000 активных пользователей, а так может быть и 5000000 и 1000000, конечно звучит может мощно. Но этот контент будет нужен очень многим.
Значит для каждого пользователя папку делать нельзя.

Придется наверное все в одной папке держать и названия у файлов будут вроде таких
id1267977matan9787.jpg и доступны они будут только для localhost.
И ещё одна папка в которой будут фото для просмотра(эти файлы будут копироваться туда из основной папки), которые будут удаляться раз в день.
Ответить с цитированием
  #25 (permalink)  
Старый 21.11.2010, 19:57
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от mycoding
Значит для каждого пользователя папку делать нельзя.
Никто не запрещает так делать, если в этом есть необходимость, но как правило настойки для пользователя хранятся в БД, а доступ к файлам, которые он купил можно можно давать в пределах сессии, после удалять либо еще как-то..
Названия файлов желательно делать рандомными, а чтобы быстрей искать нужный файл, можно создать таблицу с названиями файлов пользователя, которая тоже должна подчищаться
Ответить с цитированием
  #26 (permalink)  
Старый 23.11.2010, 14:50
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Сообщение от mycoding Посмотреть сообщение
Вообще планирую где то около 1000000 активных пользователей, а так может быть и 5000000 и 1000000
наполеоновские планы
Ответить с цитированием
  #27 (permalink)  
Старый 23.11.2010, 16:23
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от monolithed
Кстати есть еще один вариант:
1. нужно создать папку для хранения фотографий, к примеру TMP, в которой будут храниться временные фотографии.
2. когда пользователь купит фото, то ему нужно давать не прямую ссылку на нее из основного хранилища, а ссылку на копию. Т.е. после покупки находится фото с нужным именем, затем производится копирование во временную папку и уникальное переименование самой фото, после пользователь получает ссылку на скачивание, которая действует определенное время (можно крону ставить задачу на выполнение скрипта, который будет удалять файлы срок хранения который вы определите)
в чем отличие вашей идеи от моей?
кроме того, что копирование файла более длительная операция, чем создание ссылки. ну и место занимаемое временными фотографиями, конечно же.
Сообщение от monolithed
Можно одну общую папку создать для всех пользователей
отличное решение, для того чтобы "снизить нагрузку"
вы в курсе, что большое количество файлов в одной директории очень сильно замедляет работу с этой директорией?
Сообщение от mycoding
Придется наверное все в одной папке держать и названия у файлов будут вроде таких
по описанным причинам очень плохое решение
посмотрите на движок википедии(ну или саму википедию)
они хранят фотографии в подпапках на несколько под уровней

сейчас вроде бы первый уровень - 16 папок.
в каждой из них по 256 подпапок.
в оригинальном движке немного по-другому, но суть та же.

использование системы поддиректорий для хранения БОЛЬШОГО количества файлов - популярное решение, использующееся во многих движках.
в свое время помогал переводить один нагруженный проект с системы "одна папка, куча файлов", на систему "древовидная система папок.в листьях - файлы"
переводили именно потому, что начались жуткие тормоза файловой системы

ну, а использовать систему поддиректорий, где отдельному пользователю будет свой участок дерева, или же размазывать их по всему дереву - дело ваше
Ответить с цитированием
  #28 (permalink)  
Старый 23.11.2010, 18:37
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

удалено.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 02.02.2011 в 15:17.
Ответить с цитированием
  #29 (permalink)  
Старый 23.11.2010, 19:15
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Мне главное понять как надо, а дальше уже буду писать.
Как понял ограничение на количество папок в одной папке около 40000?
Т.е. если пользователей свыше 40000 и каждому сделать папку то будет сбой?
Ответить с цитированием
  #30 (permalink)  
Старый 23.11.2010, 21:02
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Gvozd
сейчас вроде бы первый уровень - 16 папок.
в каждой из них по 256 подпапок.
Что-то мне это Битрикс напоминает))

Сообщение от Gvozd
отличное решение, для того чтобы "снизить нагрузку"
вы в курсе, что большое количество файлов в одной директории очень сильно замедляет работу с этой директорией?
догадывался, но не был уверен.


Кстати, можно все проще сделать:
Когда пользователь купил файл, то нужно просто добавлять к его названию параметры с некими значениями (не к самому файлу, а в БД связывать с ссылками на файлы), а на прямой доступ к файлу делать запрет. Ну и соответственно отдавать только по этим ссылкам в пределах сессии
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет по click(function) Jomhan jQuery 6 07.12.2013 00:41
Нужен очень дешевий доступ к платним прокси rom4ik Оффтопик 5 05.10.2010 17:50
Drag&Drop не пашет помогите, я нуб, нужен совет bookin Элементы интерфейса 0 16.09.2010 14:00