Welcome! Log In Create A New Profile

Advanced

Re: read_ahead

September 29, 2009 07:20AM
On Tue, Sep 29, 2009 at 02:35:54PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Игорь.
>
> Игорь, а поясни пожалуйста что даёт aio sendfile? Ниже ты описал
> алгоритм работы, а зачем он нужен не понятно.

Он нужен, когда весь контент не помещается в память. aio sendfile
позволяет воркеру не блокироваться на диске при использовани sendfile.
Вместо этого воркер может принять другое соединение и, если данные
для него уже закэшированны в VM, то отдать их из кэша.

В идеале, если файлов не много, но они большие, то вся информация о
vnode'ах уже будет в памяти, и воркеры не будут блокироваться на
открытии файлов. Если же файлов много, то воркеры будут блокироваться
на открытии.

Кстати, вчера в 9-CURRENT добавили fcntl(O_READAHEAD), так что со
временем read_ahead можно будет использовать без патчей.

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


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

read_ahead

Igor Sysoev September 14, 2009 10:18AM

Re: read_ahead

Михаил Монашёв September 14, 2009 04:20PM

Re: read_ahead

Igor Sysoev September 15, 2009 02:06AM

Re: read_ahead

Михаил Монашёв September 29, 2009 06:40AM

Re[2]: read_ahead

Denis F. Latypoff September 29, 2009 07:00AM

Re[3]: read_ahead

Михаил Монашёв September 29, 2009 07:22AM

Re: read_ahead

Igor Sysoev September 29, 2009 07:30AM

Re: read_ahead

Igor Sysoev September 29, 2009 07:20AM

Re[2]: read_ahead

Михаил Монашёв September 29, 2009 07:48AM

Re: read_ahead

Igor Sysoev September 29, 2009 08:06AM

Re[2]: read_ahead

Михаил Монашёв September 29, 2009 08:58AM

Re: read_ahead

Maxim Dounin September 29, 2009 07:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 328
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready