wget-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Wget-dev] wget2 | HTTP/2 Performance (#386)


From: Darshit Shah
Subject: Re: [Wget-dev] wget2 | HTTP/2 Performance (#386)
Date: Thu, 14 Jun 2018 09:41:56 +0000

>  Without http2 it is faster, but by far not what you see:

Did you write to disk or /dev/null? I am running my tests by writing to 
/dev/null, since otherwise your disk I/O becomes the bottleneck.

Similarly, it is possible that the bottleneck in your case was also the actual 
network connection. For example, I just downloaded the link you provided 
(again, to /dev/null), with these results:

Wget 1.x:
```
2018-06-14 11:33:36 (109 MB/s) - ‘/dev/null’ saved [154582459/154582459]

        Command being timed: "wget -O/dev/null 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
        User time (seconds): 0.77
        System time (seconds): 0.09
        Percent of CPU this job got: 52%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.66
```

Wget2 (With HTTP/2):
```
/dev/null            100% 
[========================================================================================================================>]
  147.42M    5.23MB/s
                          [Files: 1  Bytes: 147.42M [6.14MB/s] Redirects: 0  
Todo: 0  Errors: 0                                                     ]
        Command being timed: "wget2 -O/dev/null 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
        User time (seconds): 2.11
        System time (seconds): 0.86
        Percent of CPU this job got: 12%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:23.99
```

Wget2 (w/o HTTP/2):
```
/dev/null            100% 
[========================================================================================================================>]
  147.42M  113.59MB/s
                          [Files: 1  Bytes: 147.42M [95.04MB/s] Redirects: 0  
Todo: 0  Errors: 0                                                    ]
        Command being timed: "wget2 -O/dev/null --no-http2 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
        User time (seconds): 0.72
        System time (seconds): 0.10
        Percent of CPU this job got: 53%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.55
```

I can see here that Wget1.x and Wget2 without HTTP/2 have very similar 
performance. However, with HTTP/2, Wget2 performs far slower, it uses less CPU 
as well, but that is mostly because it needs those cycles over a longer period 
of time.

On the other hand, `cURL` seems to perform better always:

With HTTP/2:
```
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  147M  100  147M    0     0   100M      0  0:00:01  0:00:01 --:--:--  100M
        Command being timed: "curl --http2 -o/dev/null 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
        User time (seconds): 0.33
        System time (seconds): 0.10
        Percent of CPU this job got: 30%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.46
```

Without HTTP/2:
```
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  147M  100  147M    0     0   100M      0  0:00:01  0:00:01 --:--:--  100M
        Command being timed: "curl -o/dev/null 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip";
        User time (seconds): 0.34
        System time (seconds): 0.14
        Percent of CPU this job got: 32%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:01.47
```

You see, it's runtime is the same, but it requires lesser CPU time. Of course, 
this isn't an exhaustive test, but we should still consider this and try to 
improve our performance.

-- 
Reply to this email directly or view it on GitLab: 
https://gitlab.com/gnuwget/wget2/issues/386#note_81499737
You're receiving this email because of your account on gitlab.com.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]