Написал небольшой патч, который автоматически увеличивает размер буфера отправки, если sendfile вернул EAGAIN.
Вызывается из https://trac.nginx.org/nginx/browser/nginx/src/os/unix/ngx_linux_sendfile_chain.c#L265
Вопросы:
1) имеет смысл доводить патч до такого вида, который примут в nginx? или такая функциональность не нужна в принципе?
2) если примут, то что ещё в нём обязано быть, кроме собственно кода увеличения буфера для Линукса и обработки "listen ... maxsndbuf=..." в конфиге?