ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Раздача больших фа йлов при помощи nginx



On Fri, Nov 28, 2008 at 02:33:49PM +0200, MZ wrote:

> В пт, 28/11/2008 в 11:59 +0300, Igor Sysoev пишет:
> > On Fri, Nov 28, 2008 at 11:41:05AM +0300, Volkov Oleg wrote:
> > 
> > > Задача заключается в раздаче по http больших файлов. Запросы к файлам по 
> > > 1 
> > > мегабайту (сами файлы порядка гигабайта). 
> > > Можно ли заставить nginx читать с диска весь запрос целиком (1 Мб), 
> > > кэшировать 
> > > в оперативке а потом раздавать? При стандартных параметрах скорость (по 
> > > сравнению с линейным чтением) резко падает уже при 20 коннектах.
> > > 
> > > Все это планируется крутить на ОС Linux. Пробовал включать/выключать 
> > > sendfile, 
> > > на скорость не влияло.
> > 
> > Можно
> > 
> >       sendfile        off;
> >       output_buffers  1 1m;
> > 
> > только память быстро кончится - и у процессов, и в ядре на буферы сокетов.
> 
> А чем-то отличается работа nginx для
> output_buffers 1 64k;
> и
> output_buffers 2 32k;
> ?
> 
> Меня интересует такой момент - для второго случая nginx мог бы, после
> того как первый буффер в 32k весь записан в сокет, начать читать новый
> 32k буффер, а второй 32k все ещё ждет своей очереди пока не появится
> место в буффере сокета.

Да, вариант "2 32k" так и будет работать. Возможно, не так плавно, как
хотелось бы (чтобы в памяти всегда был готов блок по 32К), но в целом, так.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.