Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проксирование файлов - нагрузка
 
 автор: loli   (09.03.2011 в 14:27)   письмо автору
 
 

Появлиась необходимость проксирования файлов, и их отдачи скриптом.
Собственно код:

<?

    $file 
'http://host.ru/file.avi';

    
header($_SERVER["SERVER_PROTOCOL"].' 200 OK');
    
header('Content-Type: '.$type);
    
header('ETag: '.sprintf('%x-%x-%x'time(), time(), time()));
    
header('Content-Length: '.getRemoteFileSize($file));
    
header('Connection: close');
    
header('Content-Disposition: attachment; filename="'.basename($file).'";');


    
$size 0;

    
$f fopen($file'r');
    while(!
feof($f)){
        echo 
fread($f512);
        
flush();
        
$size += 512;
        if(
connection_aborted()){ break; }
    }
    
fclose($f);
?>

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

  Ответить  
 
 автор: cheops   (09.03.2011 в 18:31)   письмо автору
 
   для: loli   (09.03.2011 в 14:27)
 

Хм... правильно ли я понимаю, что файл сначала скачивается с удаленного хоста (или это тот же самый хост), а потом отдается клиенту?

  Ответить  
 
 автор: loli   (09.03.2011 в 18:43)   письмо автору
 
   для: cheops   (09.03.2011 в 18:31)
 

Да правильно, скачивается удаленно и отдается.

  Ответить  
 
 автор: cheops   (09.03.2011 в 18:47)   письмо автору
 
   для: loli   (09.03.2011 в 18:43)
 

Хм... тогда от PHP нужно отказываться и реализовывать этот мини-сервер на каком-то более серьезном языке.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования