Question

We host our own private NuGet Feed. I've noticed that when there are numerous versions of the same package, it can take a long time for the Package Manager dialog to display the packages in the feed.

If I move everything but the latest, or several latest versions, to an archive directory things seem to speed up. However, removing these old version makes it difficult for projects to update to the latest version.

What is the best practice regarding this? I'd rather not remove old versions, but I want to keep the feed responsive. Is there a way to organize the feed so that it only has to enumerate latest version of the packages but still has the older versions available?

Background information
These packages are part of applications that are under active development. If we discover a bug, we typically fix, test, and publish an update to the package ASAP so we can continue development. Because we don't have a formal release schedule, some times these packages are be updated several times a week or go months without an update.

Was it helpful?

Solution

I assume you are using NuGet.Server? This one gets slow as it is not optimized for larger feeds. It actually inspects all packages in your feed to obtain the metadata involved, every single time. If you have the sources (they are on http://nuget.codeplex.com) you can probably optimize and cache this, which should speed up things a lot.

You can upgrade to the NuGetGallery (http://github.com/nuget/nugetgallery) or use a solution like http://www.myget.org (private feeds hosted for you) or Inedo's ProGet (private feed hosted on your server).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top