read_ahead

Denis F. Latypoff denis at gostats.ru
Tue Sep 29 14:58:17 MSD 2009


Hello Михаил,

Tuesday, September 29, 2009, 5:35:54 PM, you wrote:

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

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

для event-driven приложения в идеале весь IO должен быть
неблокируемый, но на практике IO блокируется. AIO sendfile эмулирует
неблокируемый дисковый ввод-вывод: теперь не нужны 1000 воркеров :)

как то так...

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


> --

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


-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list