Какие-нибудь предложения от многих пользователей, загружающих много больших фотографий? - PullRequest
1 голос
/ 22 февраля 2012

Я создаю веб-приложение, которое позволяет пользователю загружать изображения в высоком разрешении (примерно 10 Мб).После загрузки он создает изображение загрузки среднего размера и уменьшенного размера.Кажется, что требуется до 100 Мб памяти, выделенной PHP, только для изменения размера среднего изображения.У меня нет большого опыта в этом типе масштабируемости, легко ли будет сбой сайта?Будут ли мне нужны веб-серверы с 16 ГБ памяти, чтобы справиться с нагрузкой при изменении размера?Есть ли альтернатива?Любая информация будет принята с благодарностью!

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Вы можете создать очередь изображений для изменения размера и убедиться, что в каждый момент времени изменяется только x количество изображений. x будет зависеть от объема доступной памяти.

Если вы изменяете размеры изображений в реальном времени, как только они загружены, вы неизбежно столкнетесь с ситуацией, когда размеры изображений изменяются больше, чем может вместить ваша память, что может привести к сбою.

Вместо этого, когда изображение загружено, добавьте его в БД. Затем создайте PHP-скрипт, который получает x изображений из БД и создает новые процессы для каждого из этих изображений, чтобы изменить их размеры. Как и когда процесс сообщает о завершении родительскому элементу, родительский элемент удаляет запись изображения из очереди и извлекает другую. Стирать, ополаскивать, повторять.

0 голосов
/ 22 февраля 2012
  • выполнение тестов
  • выполнение обработки в фоновом режиме
  • выполнение обработки в непиковые часы
  • использование более легких библиотек
...