curl / Mailing Lists / curl-library / Single Mail


Re: Windows users! Help us test upload performance tuning?

From: Daniel Stenberg via curl-library <>
Date: Tue, 14 Aug 2018 12:02:46 +0200 (CEST)

On Tue, 14 Aug 2018, Jan Ehrhardt via curl-library wrote:

> I did not test if there is a difference on *nix. Did you?

Here are the results my tests run just now.

Using Linux kernel 4.17. Upload 4GB over plain HTTP to Apache 2.4.34 on
localhost - so really 0 RTT.

I ran "time curl -sT 4GB localhost -o /dev/null".

The results are clearly saying larger buffers help. Average times over 4
consecutive runs with each buffer size (using the "real" time from the

  Size Seconds Improvement

  16 KB 2.522 -
  64 KB 1.281 x 1.97
  128 KB 1.095 x 2.30
  256 KB 0.938 x 2.69
  512 KB 0.860 x 2.93


Then I sent 500MB in a PUT to, which is really close to
me RTT wise (average ping 0.931 ms). I have a 1000 mbit connection to the
Internet. Also using HTTPS.

When using HTTP/2:

This showed no gain at all with a larger buffer, it actually got slightly
worse. Also shows HTTP/2 uploads need attention and improvements.

  Size Seconds Improvement

  16KB 13.682 -
  64KB 14.488 x 0.94
  512KB 14.306 x 0.96

When I instead did the same upload over HTTPS to the same host but forced
HTTP/1.1 the speeds were all remarkably similar. 500MB in 5 seconds should be
just about maximum for 1000mbit...

  Size Seconds Improvement

  16KB 5.872 -
  64KB 5.838 x 1
  512KB 5.841 x 1

(Amazingly enough, HTTP/1.1 being 2.33 times faster than HTTP/2 ...)

Received on 2018-08-14