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

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

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

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

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

Добавлено через 01:38 сек.
Какая нагрузка от создания файла?
да и кто сказал что создаватся они будут одновременно?
0
5. Влад 24.01.2015 / 21:42
Пришелец
4. Tegos, каким образом можно обрезать фотку на клиенте?
нагрузку замерю завтра наверное уже ( у меня 5 утра ) ).gif
Изменил: Влад (24.01.2015 / 21:43)
0
6. Tegos 24.01.2015 / 22:02
Пацак
5. vlad6085, нужно реализовать?
Пиши в лс.
на исп. библиотек типа jQuery и т.д. ограничений нет?
0
7. Влад 24.01.2015 / 22:03
Пришелец
6. Tegos, моя задача - максимально (не до бреда конечно) оптимизировать этот процесс, чтобы это не приводило в упадок как сервер, так и юзера.
Кроссбраузерность тоже важна (опять же, не до фанатизма аля ie5)
Изменил: Влад (24.01.2015 / 22:04)
0
8. Tegos 24.01.2015 / 23:38
Пацак
7. vlad6085, и ?
0
9. Влад 03.03.2015 / 11:17
Пришелец
Решил проблему с помошью beanstalk (даже не знал что phalcon умеет это по умолчанию, люблю его ).gif ).
Спасибо за внимание ).gif
http://docs.phalconphp.com/ru/latest/reference/queue.html
0
10. Кевин Митник 03.03.2015 / 15:18
Айсберг Визави
посмотри сюда. обработка в браузере, кроп, изменение размера, и что самое главное - сохранение на сервер. на выходе получаем всю обработку в браузере, а файлы только сохраняем.

https://github.com/mailru/FileAPI/
https://github.com/eligrey/FileSaver.js/
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск