ПРОЕКТЫ 


  АРХИВ 


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 28.11.2008, at 17:37, Viatcheslav E. Kouznetsov wrote:

В сообщении от 28 ноября 2008 17:02 Volkov Oleg написал(a):
В сообщении от Friday 28 November 2008 11:59:47 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;

только память быстро кончится - и у процессов, и в ядре на буферы
сокетов.

Это не помогает. output_buffers  пробовал делать больше - все равно.
Сейчас работаю с одним массивом iscsi - при 2 и более воркерах скорость
меньше, чем при 1 воркере. Ядер на машине 8 штук.

iscsi с gfs ?
думаю неважно

iscsi - это один логический диск
и неважно, сколько там внутри других носителей
"контроллер" iscsi не будет обслуживать запросы в несколько потоков по типу "10 физических томов == 10 вокеров нгинх"




Пробовал крутить некоторые параметры ядра
http://www.ibm.com/developerworks/ru/library/l-hisock/index.html
пока резуоттата не добился. Максимум получается 20 Мегабайт в секунду. Это при большом количестве одновременных потоков. Если качать в один поток -
скорость в 2-3 раза больше.

Пробую все это на Centos 5

--
С уважением,
        Вячеслав Кузнецов
        ООО "АВТО.РУ"
        тел. 8(499)730-8-730 (доб. 112)



 




Copyright © Lexa Software, 1996-2009.