Re: connect -1 errno 36, sendfile -1 errno 35, LA и затыки сервера

Igor Sysoev igor на sysoev.ru
Чт Сен 16 22:44:26 MSD 2010


On Thu, Sep 16, 2010 at 10:14:39PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Алекс.
> 
> >>>>>>>> Почему не существовало ? А 8.1 ?
> >>>>>> AV>    Кстати 8.1 уже не нужно патчить для read_ahead.
> >>>>>>
> >>>>>> Это вопрос или утверждение?
> >>>>
> >>>> AV>   Утверждение. nginx aio sendfile + read_ahead работает в 8.1 без патчей.
> >>>>
> >>>> Почитал лист и доку, но так и не понял, что имеенно делает read_ahead
> >>>> и какой размер в него писать и надо ли менять sysctl vfs.read_max.
> >>>>
> >> AV>  http://nginx.org/pipermail/nginx-ru/2009-September/027653.html
> >>
> >> Я  это  читал.  Сделал  тупо  как  там написано. Процентов на 15 диски
> >> разгрузились.  Но  хочется подобные вещи делать осмысленно. Не хватает
> >> пояснения  что  именно  значит  цифра  после  read_ahead  и что именно
> >> регулирует sysctl-ка.
> >>
> AV> Насколько я понимаю, число после read_ahead говорит ядру
> AV> сколько читать(и ложить в кеш) 
> AV> байт с диска при запросе даже одного байта. А sysctl-ка ограничивает это количество
> AV> сверху. Эффект хорошо заметен на aio sendfile на файлах >
> AV> 128к - раздача видео например. 
> AV> При этом worker'ы не блокируются на диске.
> 
> А если файл меньше, чем написано в read_ahead, то сколько читается?

Размер файла. read_ahead не обязательно читает, сколько ему сказали,
он лишь пытается это сделать, но не всегда получается.


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



Подробная информация о списке рассылки nginx-ru