Эффективная загрузка файлов в CDN - PullRequest
1 голос
/ 22 февраля 2012

Я использую CDN Rackspace для размещения всех носителей моего сайта (изображений и видео). Каждый раз, когда пользователь загружает что-то, я использую этот процесс:

  1. Uploadify отправляет файл для загрузки в метод PHP
  2. Метод PHP хэширует имя файла, загружает файл в каталог tmp, создает версию эскиза (при необходимости) и возвращает как имя хешированного файла, так и имя эскиза
  3. jQuery используется для замены исходного изображения предварительного просмотра на: /location/to/tmp/file_name и сохранения имени файла также в скрытом вводе.
  4. Когда форма отправляется, значение $ _POST для скрытого ввода используется для загрузки файла в CDN и сохранения местоположения CDN в реляционной таблице MySQL

Это все нормально - все работает.

Но в последнее время меня интересует, является ли это наиболее эффективным способом сделать это - потому что в данный момент скрипт загружает файл в CDN в середине метода, который обрабатывает файл. Иногда в форме может быть до 10-12 изображений (некоторые размером более 1 МБ), поэтому в процессе обработки требуется много передачи данных - я боюсь, что это излишне замедлит работу. На моем локальном хосте все в порядке, и на общем хосте для постановки, и я уверен, что у нас не возникнет проблем, когда мы развернем его на производственном VPS, но я все еще хочу сделать все как можно лучше.

Должен ли я оставить все загрузки CDN на cronjob, или подход, который я сейчас использую, хорошо?

1 Ответ

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

Скорее всего, это зависит от ограничений (если таковые имеются), наложенных на Rackspace CDN, - и от количества одновременно загружаемых вами пользователей.

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

...