ПРОЕКТЫ 


  АРХИВ 


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]

Отдача больших файлов



Здравствуйте
Nginx используется для отдачи файлов большого размера и меня интересует его 
настройка на максимальную производительность. В частности, какие буферы нужно 
выставить, чтобы уменьшить нагрузку на дисковую подсистему? Файлы могут 
отдаваться на скорости 250-350 Кб/с, но вместо этого при количестве клиентов в 
300-400 скорость падает до 20-30. Я так понимаю, все упирается в дисковую 
подсистему и хотелось бы этот момент оптимизировать. Полагаю, что информацию 
лучше сразу читать в буферы приличного размера, чтобы было меньше обращений к 
дискам.
После изучения документации нашел следующие буферы:
- sndbuf в директиве listen. На что он влияет, я не совсем понял, прошу 
пояснить, если можно.
- output_buffers. Если я правильно понял, информация читается именно в эти 
буферы, а потом отдается клиенту. Таким образом, большое количество маленьких 
буферов увеличит количество обращений к дискам, а, значит, снизит 
производительность. Если же читать данные в один буфер около 256-512 кб, то 
обращений должно быть значительно меньше. Здесь, полагаю, все упрется только в 
количество памяти под буферы.
- sendfile_max_chunk. Описания этой директивы в документации вообще не нашел:( 
Полагаю, что действует она только при включенном sendfile, но как именно, 
объясните пожалуйста.
Заранее спасибо.



 




Copyright © Lexa Software, 1996-2009.