Насчет небольших порций - это регулируется в какой-то мере.
Например - задаем размер буфера отправки (на сокете) в 2048кб, и
snd_lowat в 1024кб.
Если я правильно понимаю nginx получит событие, что в сокет писать
можно и будет последовательно туда сгружать данные пока не получит
EAGAIN. Это >1024кб данных и они будут записаны сильно быстрее чем
клиент считывает, пусть он хоть на 50 мегабит тянет. Дальше nginx к
этому сокету не вернется пока не придет пора писать следующие 1024кб -
будет писать в другие (а все это время ядро плавно и без задержек
отсылает данные).