Загрузка файла через PHP или по прямой ссылке быстрее? - PullRequest
1 голос
/ 20 декабря 2011

Мне нужно, чтобы пользователь скачал какой-нибудь файл (например, PDF). Что будет дольше:

  • отправить этот файл PHP (с определенными заголовками),
  • или поместить его в общедоступную папку http и получить для пользователя публичную ссылку для его загрузки (без помощи PHP)?

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

Так, как я могу измерить время, потраченное PHP на отправку файла и сколько памяти он может использовать?

P.S. в 1-м случае, когда PHP отправляет заголовки и браузер (если установлен плагин pdf) попытается открыть его внутри браузера, PHP все еще работает, или он выталкивает весь файл после немедленной отправки заголовков? Или, если плагин не установлен и браузер покажет диалог «Сохранить как», PHP все еще работает?

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Там будет очень мало, если вы беспокоитесь о скорости загрузки.

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

1 голос
/ 20 декабря 2011

Ваша основная проблема с PHP - это используемая им память - каждая ссылка создаст новый процесс, который может быть 8-20 МБ, в зависимости от того, что делает ваш скрипт, используете ли вы фреймворк и т. Д.

Из интереса я написал приложение Symfony, чтобы предлагать загрузки и делать такие вещи, как ограничение параллелизма, ограничение пропускной способности и т. Д. Здесь здесь , если вы хотите взглянуть на код. (Я не лицензировал его как таковой, но я рад сделать его GPL3, если хотите).

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