Ограничение подключения

weregod

unserializer
Автор оригинала: LimeJelly
Почему отдавать файл через скрипт вредно?
нагрузка на сервер увеличивается

не вижу проблемы в том, чтобы поднимать по IP писать в БД на сервере и давать качать только в один поток с одного IP, коли скриптом отдаёте файл + таймаут этой "сессии"
 

Alexandre

PHPПенсионер
Почему отдавать файл через скрипт вредно?
20 kb не вредно, а вот 20M или 1.2Gb - уже вредно...
да ты представляешь какой нужно выделить буфер под отдачу 1.2 Gb... потом этот буфер передать WEB серверу... какова будет нагрузка на сервер, если будут одновременно качать 2-3 фильма ...
 

Baranov_Dron

Новичок
Интересно, а как рапидшаре решает эту проблему?!
У них подлючений дофига, и отдают файлы именно скриптом!
 

kode

never knows best
Автор оригинала: LimeJelly
Почему отдавать файл через скрипт вредно?
Абсурдный вопрос - Очевидный ответ.

-~{}~ 16.07.08 12:34:

Автор оригинала: Alexandre
20 kb не вредно, а вот 20M или 1.2Gb - уже вредно...
да ты представляешь какой нужно выделить буфер под отдачу 1.2 Gb... потом этот буфер передать WEB серверу... какова будет нагрузка на сервер, если будут одновременно качать 2-3 фильма ...
очевидно же - вывод скрипта не обязательно буферизировать.
 

Alexandre

PHPПенсионер
Друг мой kode
как по твоему отдаются 1.2 Gb контента скриптом?
 

LimeJelly

Новичок
ОК, а если я читаю, например, по 1Mb, и выдаю. И так весь гигабайт?
 

kode

never knows best
Автор оригинала: Alexandre
Друг мой kode
как по твоему отдаются 1.2 Gb контента скриптом?
Дорогой товарищ, при выводе контента используются буфера гораздо меньшего размера. Алсо, для кого по вашему придумали
http://ru2.php.net/manual/en/function.flush.php? Контент передаётся в клиенту по мере поступления от скрипта, и не обязательно хранить все 1.2 Гб в памяти.

-~{}~ 16.07.08 13:00:

а проблема
Several servers, especially on Win32, will still buffer the output from your script until it terminates before transmitting the results to the browser.
- это проблема этих серверов
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Путаете файловый буфер, и буфер вывода.
А хранить все 1.2 Гб действительно не нужно, нужно fseek-ом выкусывать нужный кусок в соответствии с Accept-Range. Да только вот какая разница, по большому счету, один скрипт запросит 100 Мб, или 10 скриптов (потоков) по 10 Мб ?
 

dimagolov

Новичок
kode, зачем эта дискуссия тут и цитаты из мануала со ссылками на мифические сервера на Win32 (заметь, без конкретики), если это элементарно проверить натурным эксперементом? Аж 10 минут времени надо потратить.
 
Сверху