ПРОЕКТЫ 


  АРХИВ 


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: read_ahead



Здравствуйте, Игорь.

А этот патч для FreeBSD войдёт в 8.x ?

IS> aio sendfile в nginx'е использует флаг SF_NODISKIO и sendfile() не
IS> блокируется на диске, а сообщает об отсутствии данных в памяти,
IS> после чего nginx инициирует асинхронную подгрузку данных, читая
IS> только один байт. При этом ядро FreeBSD подгружает в память первые
IS> 128K файла, однако при последующих чтениях файл подгружается частями
IS> только по 16K.

IS> К письму прилагается два патча 

IS> 1) для FreeBSD 7, реализующий fcntl(F_RDAHEAD, размер):

IS> patch -d /usr/src < patch.rdahead
IS> после чего пересобираем и устанавливаем ядро и перегружаемся.

IS> После загрузки обновляем fcntl.h:

IS> cd /usr/src/include/
IS> make obj all install

IS> 2) для nginx-0.8.15 - patch.read_ahead 

IS> Настройки:

IS> sendfile    on;
IS> aio         sendfile;
IS> read_ahead  256k;
IS> tcp_nopush  on;

IS> sysctl vfs.read_max=16  # 256K

IS> Для Линукса read_ahead с любым размером >0 вызывает просто

IS> posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL)




  

--

С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.




 




Copyright © Lexa Software, 1996-2009.