Re: Автоматическое увеличение sndbuf при EAGAIN
Maxim Dounin
mdounin на mdounin.ru
Пн Июн 19 18:56:57 UTC 2017
Hello!
On Mon, Jun 19, 2017 at 01:55:46PM -0400, Ilya Evseev wrote:
> Написал небольшой патч, который автоматически увеличивает размер буфера
> отправки, если sendfile вернул EAGAIN.
>
> Вызывается из
> https://trac.nginx.org/nginx/browser/nginx/src/os/unix/ngx_linux_sendfile_chain.c#L265
>
> Вопросы:
>
> 1) имеет смысл доводить патч до такого вида, который примут в nginx? или
> такая функциональность не нужна в принципе?
Основной вопрос, который задётся для всех новых фич - зачем эта
фича нужна (и нужна ли)?
В данном случае хороший ответ на этот вопрос не прослеживается,
так как автотюнинг буферов сейчас во всех популярных операционных
системах есть, в том числе на линуксе. И не совсем понятно, зачем
пытаться изобретать свой собственный.
(Отмечу в скобках, что подобный же функционал, если он вам
нужен для какой-то специфической задачи, скорее всего получится
реализовать с помощью фильтра тела ответа. Это будет более
поддерживаемым решением, чем локальный патч.)
> 2) если примут, то что ещё в нём обязано быть, кроме собственно кода
> увеличения буфера для Линукса и обработки "listen ... maxsndbuf=..." в
> конфиге?
Общие рекомендации по тому, как присылать патчи, можно почитать
на странице http://nginx.org/ru/docs/contributing_changes.html.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru