отдача больших файлов через nginx+php-fpm

F0iL nginx-forum на nginx.us
Пн Окт 4 14:31:18 MSD 2010


Добрый день. 
Такая проблема:
есть хостинг хранения файлов.

при скачивании юзерам дается не прямая
ссылка, а они попадают на php-скрипт,
который берет файл и отдает его им
как-то так:
[code]
$downloaded = 0;
while(!feof($f) and !connection_status() and ($downloaded < $size))
 {
    echo fread($f, 512000);
    downloaded += 512000;
    flush();
 }
[/code]

А проблема вот какая.
На apache2+mod_php все работает отлично.
На  nginx/0.7.67+php-fpm во-первых скорость
отдачи ниже, чем на apache, а во-вторых при
попытке загрузить более-менее большой
файл (мегабайт от 300 и больше) nginx
начинает очень медленно отвечать на
запросы или вообще впадает в ступор,
worker process'ы жрут 100% процессора, а сам файл
в итоге отдаваться ну никак не хочет.
Подскажите, в какую сторону копать.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,136832,136832#msg-136832




Подробная информация о списке рассылки nginx-ru