Backport #1284
closedNet::HTTP POST performance
Description
=begin
Net::HTTP uses a fixed block size of 1024 bytes when streaming or chunking POST bodies, which leads to very poor performance for large file uploads.
Issue affects both trunk and branches/ruby_1_8
The attached tiny patch changes this to a tunable constant (BUFSIZE) with a default of 16K.
Notes:
- A similar change has already been made to net/protocol.rb in r12092
- WEBrick httprequest and httpresponse already have a BUFSIZE constant
- WEBrick was made even more tunable in r10167 (trunk only)
=end
Files
Updated by shyouhei (Shyouhei Urabe) over 14 years ago
- Status changed from Open to Assigned
- Assignee set to nahi (Hiroshi Nakamura)
=begin
=end
Updated by nahi (Hiroshi Nakamura) about 14 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r26131.
Brian, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end
Updated by shyouhei (Shyouhei Urabe) almost 14 years ago
- Status changed from Closed to Assigned
- Assignee changed from nahi (Hiroshi Nakamura) to shyouhei (Shyouhei Urabe)
=begin
=end
Updated by shyouhei (Shyouhei Urabe) almost 14 years ago
- Assignee changed from shyouhei (Shyouhei Urabe) to wyhaines (Kirk Haines)
=begin
Fixed in 1.8.7. 1.8.6 also uses 1K buffer, so I assign this to Kirk.
Note that typical Ethernet frame body is 1,500 octets length. Using 1K buffer leads at least 2 system calls per a packet on most situations.
=end
Updated by wyhaines (Kirk Haines) almost 14 years ago
- Status changed from Assigned to Closed
=begin
This issue was solved with changeset r28198.
Brian, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end