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