Хорошая спецификация сервера для изменения размера изображения в PHP - PullRequest
0 голосов
/ 26 ноября 2008

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

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

Изображения в настоящее время ограничены до 2 МБ, но я бы хотел их увеличить.

Есть что-нибудь на выбор (для этой задачи)?

Вариант 1. * Процессор: Pentium 4 3GHZ Hyperthreaded * Память: 2 ГБ DDR SDRAM * Hd1: 120 ГБ, 7200 об / мин, кэш-память SATA / 8 МБ * Hd2: 120 ГБ, 7200 об / мин, кэш-память SATA / 8 МБ * ОС: Linux - CentOS 5 (+32 бит)

Вариант 2. * Процессоры: двухъядерный Intel Core 2 Duo 2,2 ГГц * Память: 1 ГБ ОЗУ * Жесткий диск: 1x 160 ГБ, 7200 об / мин * ОС: Linux - CentOS 5.2

редактирование:

  • Я использую http://pear.php.net/package/Image_Transform с GD2
  • Громкость очень низкая, но некоторые файлы JPG терпят неудачу, даже когда они <2mb </li>
  • Текущий хостинг - это VPS с 768 МБ выделенной оперативной памяти (найти о процессоре)

Ответы [ 3 ]

3 голосов
/ 26 ноября 2008

Вы не говорите, сколько вы делаете за период времени, что вы используете (GD? ImageMagick? Что-то еще) или спецификации и производительность вашего текущего сервера.

Однако, если вы не делаете много, оба этих сервера должны быть более чем хороши.

2 голосов
/ 28 ноября 2008

Определенно придерживайтесь VPS (по сравнению с виртуальным хостингом), потому что работа с изображениями в PHP - это всего лишь настройка вашего файла php.ini.

Существует множество причин, по которым PHP-скрипт не может обработать загрузку:

  1. Загрузка слишком велика. Размер загрузки контролируется несколькими директивами: post_max_size, upload_max_filesize, memory_limit. Если все из приведенных выше директив не настроены должным образом, значения по умолчанию будут ограничивать вас объемом около 2 МБ.
  2. Недостаточно памяти для работы с изображением. Директива memory_limit влияет на это. Также убедитесь, что ваш код высвобождает ресурсы как можно скорее, вместо того, чтобы ждать завершения сценария.
  3. Операции заняли слишком много времени. max_input_time и max_execution_time управляют продолжительностью выполнения скрипта (max_input_time контролирует ввод / вывод HTTP, max_execution_time контролирует фактическое выполнение скрипта). Для обработки больших изображений требуется больше времени.

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

0 голосов
/ 26 ноября 2008

ЕСЛИ вы просто занимаетесь разработкой / тестированием и, возможно, просто программным запуском - один, если хорошо. Если вы рассчитываете начать работу, вам нужно следить за загрузкой вашего сервера и тем, сколько процессов вы порождаете, а также сколько времени фактическое время изменения размера изображений.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...