Issue #8681 has been reported by normalperson (Eric Wong).

----------------------------------------
Feature #8681: Net::HTTP should set TCP_NODELAY for requests with body
https://bugs.ruby-lang.org/issues/8681

Author: normalperson (Eric Wong)
Status: Open
Priority: Low
Assignee: 
Category: 
Target version: 


Setting TCP_NODELAY to disable Nagle's algorithm speeds up successive writes which
we use when sending HTTP PUT/POST requests with body.

From https://en.wikipedia.org/wiki/Nagle%27s_algorithm

      The user-level solution is to avoid write-write-read sequences on
      sockets.  write-read-write-read is fine. write-write-write is
      fine. But write-write-read is a killer. So, if you can, buffer up
      your little writes to TCP and send them all at once. Using the
      standard UNIX I/O package and flushing write before each read
      usually works.

We currently hit the killer write-write-read case when sending requests
with body using Net::HTTP

net-http-persistent does this by default (for all connections), even.
I usually use net-http-persistent, but sometimes it's easier to use
Net::HTTP on a new (bare) system and I've been bitten by this :x



-- 
http://bugs.ruby-lang.org/