dotnet / dotnet/core

Test dotnet CDN Performance

Open
#9,677 15 comments 0 reactions 0 assignees View on GitHub
area-setup
Dominant language
PowerShell
Stars
22k
Forks
4.9k
Avg merge
5d 5h
Merged PRs (30d)
29

Description

We're in the process of changing the Content Delivery Network (CDN) we use, for https://github.com/dotnet/core/issues/9671. CDNs are a major source of performance on the web. In the past, some users have come to us with reports of very poor download performance, particularly in Asia. We want to proactively start a conversation about download performance and to make it easy to perform tests.

Testing links:

- https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.11/dotnet-runtime-8.0.11-linux-x64.tar.gz
- https://dotnetcli.azureedge.net/dotnet/Runtime/8.0.11/dotnet-runtime-8.0.11-linux-x64.tar.gz
- https://download.visualstudio.microsoft.com/download/pr/805cdca8-ac43-4d76-8ce8-efd11f1997f2/17aeb8b0cd34c6f8d80217bf6a4ed3cd/dotnet-runtime-8.0.11-linux-x64.tar.gz
- https://www.nuget.org/api/v2/package/Microsoft.NETCore.App.Runtime.linux-x64/8.0.11
- https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.linux-x64/8.0.11/microsoft.netcore.app.runtime.linux-x64.8.0.11.nupkg

The first three links are copies of the same file, while the last two are copies of a slightly larger variant of the same content. They all go through different networks paths, which make them good candidates to test network performance.

If you have any concerns about network performance, please test the files and report back if you believe the results are bad. We expect that our CDN architecture will change multiple times during the month of January. It may be useful for concerned users to test more than once and to save logs.

It is best to test the results via the command line although the browser works, too.

## Example test

The following example test was run on a home network near Seattle, WA.

```bash
$ curl -LO https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.11/dotnet-runtime-8.0.11-linux-x64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29.8M 100 29.8M 0 0 26.5M 0 0:00:01 0:00:01 --:--:-- 26.5M
$ curl -LO https://dotnetcli.azureedge.net/dotnet/Runtime/8.0.11/dotnet-runtime-8.0.11-linux-x64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29.8M 100 29.8M 0 0 72.7M 0 --:--:-- --:--:-- --:--:-- 72.9M
$ curl -LO https://download.visualstudio.microsoft.com/download/pr/805cdca8-ac43-4d76-8ce8-efd11f1997f2/17aeb8b0cd34c6f8d80217bf6a4ed3cd/dotnet-runtime-8.0.11-linux-x64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 29.8M 100 29.8M 0 0 39.2M 0 --:--:-- --:--:-- --:--:-- 39.2M
$ curl -LO https://www.nuget.org/api/v2/package/Microsoft.NETCore.App.Runtime.linux-x64/8.0.11
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 33.3M 100 33.3M 0 0 35.1M 0 --:--:-- --:--:-- --:--:-- 76.4M
$ curl -LO https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.linux-x64/8.0.11/microsoft.netcore.app.runtime.linux-x64.8.0.11.nupkg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 33.3M 100 33.3M 0 0 15.6M 0 0:00:02 0:00:02 --:--:-- 15.6M
```

As you can see, these results are good, downloading the .NET 8 runtime in 1s or less. We hope for similar results for others. We'll also be investigating the speed differences between the CDNs.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.