ПРОЕКТЫ 


  АРХИВ 


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: O_DIRECT and friends



On Wed, 27 Sep 2006, Alexey Mahotkin wrote:

я слышал, что некоторые из вас раздают с помощью своих nginx'ов
большие файлы размером примерно 700Mb.

есть предложение реализовать фичу по отдаче таких файлов
(per-location) без загрязнения файлового кэша, с помощью одного из
трёх механизмов:

- O_DIRECT у open();  -- ряд ограничений на Linux;

- posix_fadvise() -- везде?

- O_STREAMING, судьбу которого в линуксе я проследить не смог;

насколько реально работают хотя бы первые два, вот в чём вопрос?  И
кто знает, чем кончилась история с последним способом, который в 2.5
дошёл аж до -mm?

У меня есть подозрение, что с sendfile()ом они будут дружить неэффективно.
Насколько я понимаю, O_DIRECT предназначен для чтения данных напрямую
в user-land буфер процесса. sendfile()у же нужно map'ить страницы
файла внутри ядра, то есть, файловый кэш нужно пачкать.


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



 




Copyright © Lexa Software, 1996-2009.