Re: Затыки при отдаче статики

Валентин Бартенев vbart at nginx.com
Sat Nov 23 16:50:54 UTC 2013


On Saturday 23 November 2013 18:54:38 Gelun, Artem wrote:
[..]
> До этого момента я убеждённо считал, что если файл открыт как O_NONBLOCK,
> то sendfile будет неблокирующим и при недостатке данных вернёт EAGAIN.

EAGAIN он вернет только когда заполнит буфер сокета.

man sendfile

       EAGAIN Nonblocking I/O has been selected using O_NONBLOCK and the write
              would block.


> Я ошибаюсь? или откуда может появиться время его выполнения в почти 8.7
> секунды???....

Ошибаетесь.

sendfile() на Linux блокируется на чтении с диска, так же как и read().

--
Валентин Бартенев


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