Загрузка множества фотографий (оптимизация)

Печать RSS
361

В
Автор
Пришелец
0
Здравствуйте дамы и господа smile
Нужна помощь более опытных товарищей, не буду долго мусолить,перейду к сути.
На сайте нужна загрузка до 30 фото разом, каждая - не более 5МБ.
Для каждой фотографии создается 3 миниатюры (после выделения нужной области юзером, js).
Сделать то я сделал, однако тут к гадалке не ходи, нагрузка серьезная.
Каким образом можно снизить ее / оптимизировать?
Один товарищ (бывший коллега) предложил сделать так:
При загрузке каждой, ставить ее в очередь. и обрабатывать по одной (при пом. cron - например, каждые 3 секунды обращаться к таблице, и проверять на наличие фото, нуждающихся в обработке, и обрабатывать по одной).
Взял на заметку.
Может быть кто - либо из вас сталкивался с этим ранее, или посоветует статейку какую нибудь, предложит решение.

Речь идет о web проекте, поэтому в использовании различных технологий не ограничен.

Заранее спасибо
Изменил: Влад (24.01.2015 / 15:13)

Пацак
0
Ну да, как вариант, можно очередь.
Но еще вопрос: где именно самая большая нагрузка?
И нагрузка на что?
Что именно ты js-ом делал?
Можно же и на клиете фотки обработать и сразу 3 шт. отправлять, на сервере же только траф ограничивать.
В
Автор
Пришелец
0
Признаюсь, нагрузку не замерял.
Давай пока рассудим логически: 10 пользователей одновременно загружают по 30 фото по 5мб каждая, из них создаются по 3 миниатюры (+оригинал = 4).
4 файла на каждую фото. 120 файлов на человека.
10чел * 120файлов = 1200 файлов создается на сервере в один момент.

На js реализован кроп фотографии (сам скрипт от sergiusd, позволяет выделять область для кропа, получить координаты, которые я передаю php и рублю фотографии)
Изменил: Влад (24.01.2015 / 16:25)

Пацак
0
Надо замерить.
Фотки надо обаботать на клиенте, готовые отправлять на сервер.

Добавлено через 01:38 сек.
Какая нагрузка от создания файла?
да и кто сказал что создаватся они будут одновременно?
В
Автор
Пришелец
0
4. Tegos, каким образом можно обрезать фотку на клиенте?
нагрузку замерю завтра наверное уже ( у меня 5 утра ) smile
Изменил: Влад (24.01.2015 / 21:43)

Пацак
0
5. vlad6085, нужно реализовать?
Пиши в лс.
на исп. библиотек типа jQuery и т.д. ограничений нет?
В
Автор
Пришелец
0
6. Tegos, моя задача - максимально (не до бреда конечно) оптимизировать этот процесс, чтобы это не приводило в упадок как сервер, так и юзера.
Кроссбраузерность тоже важна (опять же, не до фанатизма аля ie5)
Изменил: Влад (24.01.2015 / 22:04)

Пацак
0
7. vlad6085, и ?
В
Автор
Пришелец
0
Решил проблему с помошью beanstalk (даже не знал что phalcon умеет это по умолчанию, люблю его smile ).
Спасибо за внимание smile
http://docs.phalconphp.com/ru/latest/reference/queue.html
К

Айсберг Визави
0
посмотри сюда. обработка в браузере, кроп, изменение размера, и что самое главное - сохранение на сервер. на выходе получаем всю обработку в браузере, а файлы только сохраняем.

https://github.com/mailru/FileAPI/
https://github.com/eligrey/FileSaver.js/
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск