отадача файлов через php vs непосредственно апачем

x-yuri

Новичок
отадача файлов через php vs непосредственно апачем

не нашел на форуме ответа именно на этот вопрос. Поток/процесс апача, который отдает файл тратит значительно меньше ресурсов сервера, чем такой же поток/процесс, отдающий файл средствами пхп?
Если да, то в чем разница?
в количестве памяти, используемой этими потоками/процессами (не учитывая память под файл)?
или apache как-то хитро файл отдает?
и вообще насколько велика эта разница?
 

FB3

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

x-yuri

Новичок
Вообще, для отдачи статики на нагруженных проектах используют другие сервера, помимо апача, которые с этим лучше справляются в плане потребляемых ресурсов.
это да, но если сравнивать apache с php, какова разница и в чем именно она?
 

FB3

Новичок
Автор оригинала: FB3
PHP, который сначала запустится, скомпилирует код, запустит его на выполнение, а потом будет висеть в памяти, пока не отдаст файл до конца.
При всем при этом, все равно апач, а не PHP, будет отдавать результат, который сгенерируется на PHP.
 

x-yuri

Новичок
а если php выдает файл частями (речь не о HTTP Range), то память на файл особо не тратится (не загружается весь файл/диапазон, а потом отдается), т.е. по алгоритму с apache разницы особой нет?
так в чем же разница? вижу пока один вариант - в том, что надо знать подводные камни такого решения. А именно, что надо реализовать отдачу фрагментов файла и не выдавать весь файл сразу, а делать это по частям. Ну и там еще, если файл очень большой, но тут apache и не подойдет скорее всего
я прав?
 

Sokil.Dmytro

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

x-yuri

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

Sokil.Dmytro

Новичок
по сравнению с временем отдачи файла да :) хотя фиг его знает как пхп и апач файлы читают. профайлером надо потестить скоростя, потм ясно будет - заметна или не заметна разница. но мировая практика все равно за проксирующие сервера голосует
 

x-yuri

Новичок
но мировая практика все равно за проксирующие сервера голосует
но для домашней странички и без него обойтись пожалуй можно? ;-)

-~{}~ 16.01.09 18:32:

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

Angerslave

Новичок
Если есть возможность отдавать файл сразу апачем, то следует сделать именно так. Всё-таки Apache - это веб-сервер, а PHP - скриптовый язык программирования. И смысла дёргать лишний раз интерпретатор не имеет.
 

FB3

Новичок
Автор оригинала: Angerslave
Если есть возможность отдавать файл сразу апачем, то следует сделать именно так. Всё-таки Apache - это веб-сервер, а PHP - скриптовый язык программирования. И смысла дёргать лишний раз интерпретатор не имеет.
Собственно, я с самого начала это и написал :)
 

Sokil.Dmytro

Новичок
Автор оригинала: x-yuri
но для домашней странички и без него обойтись пожалуй можно? ;-)
я не думаю что у домашней странички будет такая нагрузка, из за которой стоит заморачиваться такими вопросами
:)

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

x-yuri

Новичок
Angerslave, FB3, Sokil.Dmytro, понятно что по умолчанию через пхп отдавать файлы смысла не имеет. Но если надо сделать подсчет количества скачиваний или ограничение доступа? Почему бы не сделать это через пхп?
Я потому и спрашиваю, в чем разница этих двух подходов? Кто-нибудь сравнивал их? Или все опираются на "естественно пхп работает медленне, потому что он интерпретатор"

-~{}~ 16.01.09 19:27:

я не думаю что у домашней странички будет такая нагрузка, из за которой стоит заморачиваться такими вопросами
по поводу домашней странички (или лучше сервер с малой нагрузкой) - это ситуация, когда разница заметна не будет
 
Сверху