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