Я использую CDN Rackspace для размещения всех носителей моего сайта (изображений и видео). Каждый раз, когда пользователь загружает что-то, я использую этот процесс:
- Uploadify отправляет файл для загрузки в метод PHP
- Метод PHP хэширует имя файла, загружает файл в каталог
tmp
, создает версию эскиза (при необходимости) и возвращает как имя хешированного файла, так и имя эскиза
- jQuery используется для замены исходного изображения предварительного просмотра на:
/location/to/tmp/file_name
и сохранения имени файла также в скрытом вводе.
- Когда форма отправляется, значение $ _POST для скрытого ввода используется для загрузки файла в CDN и сохранения местоположения CDN в реляционной таблице MySQL
Это все нормально - все работает.
Но в последнее время меня интересует, является ли это наиболее эффективным способом сделать это - потому что в данный момент скрипт загружает файл в CDN в середине метода, который обрабатывает файл. Иногда в форме может быть до 10-12 изображений (некоторые размером более 1 МБ), поэтому в процессе обработки требуется много передачи данных - я боюсь, что это излишне замедлит работу. На моем локальном хосте все в порядке, и на общем хосте для постановки, и я уверен, что у нас не возникнет проблем, когда мы развернем его на производственном VPS, но я все еще хочу сделать все как можно лучше.
Должен ли я оставить все загрузки CDN на cronjob, или подход, который я сейчас использую, хорошо?