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

Валентин Бартенев vbart at nginx.com
Sun Nov 24 15:26:39 UTC 2013


On Sunday 24 November 2013 14:39:59 Gelun, Artem wrote:
> Валентин, спасибо. Видимо, я перепутал с BSD-шным sendfile...
> 
> Комментарий "он будет зваться ровно столько раз, сколько понадобиться
> для отдачи всего файла" относится, судя по всему, именно к BSD? потому
> что на Linux просто блокируется вызов до получения полного файла и
> всё.

Нет.  Как уже выше выяснили, он ещё EAGAIN возвращает.

> 
> Используем небольшой свой модуль, который из имени файла делает, по
> сути, range  и отдаёт ответ с кодом 200. Внутри он вызывает
> ngx_http_output_filter, который занимается всем вводом-выводом, так
> что "в кишки" мы не лезем.

Там много нюансов, чтобы сломать nginx не обязательно лезть "в кишки".


> 
> Включать AIO - не вариант. Отсутствие RA снижает производительность
> дисков очень значительно (даже при выставлении больших буферов -
> видимо, за счёт RA RAID-контроллера, который тоже отключается) +
> отсутствие sendfile прибавляет почти десяткок процентов system time на
> и без того нагруженном сервере...

Отсутствие RA?

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


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