Thursday, August 02, 2012

Nuget needs your help! Help in testing if a CDN helps make your Nuget'ing faster or not... [Update: Done and results are in... ] Blog - Help Us Test CDN for

"Over the past few weeks, we’ve been investigating whether to turn on the content delivery network (CDN) feature of the Azure blob storage container for NuGet packages. In theory, this would make package downloads faster – especially if you’re located outside of the United States.

We want your help to conduct an experiment to measure the difference in downloading packages with CDN enabled verses disabled. Our initial experiment deployed nuget.exe into different regions and measured the time to download a set of NuGet packages. Unfortunately, in all of the regions we deployed to, we were still sitting on an Internet backbone connection, so even our baseline measurements (with CDN disabled) showed a statistically insignificant difference between a deployment in northern Europe and a deployment in the USA. As such, it would seem that enabling CDN wouldn’t yield any measurable benefit.

We think that the reason for the inconclusive baseline is due to the fact that there’s no “last mile” involved in the measurements, and this is where the majority of the slowdown happens. While we could try and simulate last mile time, we would rather change the experiment a bit and ask for your help.

We’ve created a custom of NuGet.exe along with a batch file runner that you can download here. Just unpack the zip file and run NuGet-CDN.bat. This will download the top 25 NuGet packages from both the standard package URL and a CDN URL and then log the time it takes to perform the download operations. You will then be asked to optionally provide your location, which will help us get a better sense of the global impact of using the CDN.


The batch process will wrap the log files along with your location information into a new NuGet package. Please email that package to"

This is a quick and simple process, to cloud-source some Nuget testing on if a CDN would help get your nuget packages faster or not.

Do you Nuget? Are you outside of the US (or not, I'm not, but the wider their set cases the better)? Want to help them see if a CDN would make your Nuget'ing faster? This is your chance to help. It's quick, easy and when done, you just need to email them the generated 9K "NuGetTraces.1.0.nupkg".

I know, you're thinking a CDN HAS to be faster right? Well sometimes these things are really counter intuitive and I think it's cool that they are putting some hard data behind their CDN decision.

I've already done it and emailed my package in. Have you?


Update 8/12/2012:

Results of NuGet CDN Experiment

A little over a week ago, we asked for your help with an experiment that we were conducting to see whether there was value in enabling CDN support for our packages blob storage container. Over 100 of you responded from all over the world, and the data that you provided made it pretty clear that there was sufficient justification for turning on CDN support for the production NuGet blob storage container. So firstly, thank you to everyone who participated in the experiment!

In addition to turning on CDN, we wanted to share the results of the data that you provided us. First, the worldwide numbers look like the following:



No comments: