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

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

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

Заранее спасибо

2. Tegos (24.01.2015 / 15:59)
Ну да, как вариант, можно очередь.
Но еще вопрос: где именно самая большая нагрузка?
И нагрузка на что?
Что именно ты js-ом делал?
Можно же и на клиете фотки обработать и сразу 3 шт. отправлять, на сервере же только траф ограничивать.

3. Влад (24.01.2015 / 16:24)
Признаюсь, нагрузку не замерял.
Давай пока рассудим логически: 10 пользователей одновременно загружают по 30 фото по 5мб каждая, из них создаются по 3 миниатюры (+оригинал = 4).
4 файла на каждую фото. 120 файлов на человека.
10чел * 120файлов = 1200 файлов создается на сервере в один момент.

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

4. Tegos (24.01.2015 / 21:21)
Надо замерить.
Фотки надо обаботать на клиенте, готовые отправлять на сервер.

Добавлено через 01:38 сек.
Какая нагрузка от создания файла?
да и кто сказал что создаватся они будут одновременно?

5. Влад (24.01.2015 / 21:42)
4. Tegos, каким образом можно обрезать фотку на клиенте?
нагрузку замерю завтра наверное уже ( у меня 5 утра ) smile

6. Tegos (24.01.2015 / 22:02)
5. vlad6085, нужно реализовать?
Пиши в лс.
на исп. библиотек типа jQuery и т.д. ограничений нет?

7. Влад (24.01.2015 / 22:03)
6. Tegos, моя задача - максимально (не до бреда конечно) оптимизировать этот процесс, чтобы это не приводило в упадок как сервер, так и юзера.
Кроссбраузерность тоже важна (опять же, не до фанатизма аля ie5)

8. Tegos (24.01.2015 / 23:38)
7. vlad6085, и ?

9. Влад (03.03.2015 / 11:17)
Решил проблему с помошью beanstalk (даже не знал что phalcon умеет это по умолчанию, люблю его smile ).
Спасибо за внимание smile
http://docs.phalconphp.com/ru/latest/reference/queue.html

10. Кевин Митник (03.03.2015 / 15:18)
посмотри сюда. обработка в браузере, кроп, изменение размера, и что самое главное - сохранение на сервер. на выходе получаем всю обработку в браузере, а файлы только сохраняем.

https://github.com/mailru/FileAPI/
https://github.com/eligrey/FileSaver.js/

11. Дмитрий (03.03.2015 / 15:35)
10. Кевин Митник_HHTeam, только хотел предложить вариант обработки фоток в браузере))) Это легко делается JS + canvas. Задача сервера будет только сохранить результаты.

URL: https://visavi.net/topics/41911