Sizing Nexus: How much space do you need?
You’ll want to make sure that you run your repository manager on a server that is up to the task. The last thing you need is for Nexus to run out of space during a critical release because it is running on inadequate hardware. Disk space is cheap, broken builds are not.
In this post, I focus on storage requirements for Nexus. I discuss general recommendations and point you at resources we’ve developed to help you come up with accurate estimates for how much disk space you’ll need.
Disk Space
Disk space is going to be the critical parameter for a Nexus installation. At its core, Nexus is simply a collection of files and a set of services to index and serve these files. If you integrate Nexus into your development process and come to depend on it as a collaboration mechanism, you can easily consume hundreds of gigabytes (or even terabytes) of space.
Coming up with a simple guideline for storage requirements is difficult as it depends on a number of factors: How many projects do you have? How large are the artifacts being deployed to Nexus? How frequently are these artifacts deployed? and How long do you keep your releases? How much open source are you consuming from Central? How often do you update external dependencies? and How many 3rd party artifacts do you need to upload?
If you deploy artifacts to Nexus, your internal, hosted repositories are what will end up consuming the most space over time. At a large organization with hundreds of projects and frequent releases, it is very easy to create systems that consume a surprising amount of space. If you are interested in diving into the details and coming up with an estimate for your organization, watch “Getting Scientific about Sizing Nexus”.
An Initial Starting Point
While some of our engineers like to aim high with an initial recommendation of 250-500 GB, I like to aim a little lower. Sure, if you are rolling Nexus out to a 5,000 developer installation with thousands of projects, you may very well want to start with 1 TB. On the other hand, if you are gradually rolling Nexus out to a department or two, you should start with a more reasonable number: 50 or 100 GB.
I recommend starting with 50 or 100 GB, and I also recommend being prepared to expand that number as needed. Starting with this smaller number avoids the problem of procuring a huge chunk of disk space only to watch it sit idle for the months (or years) it will take you to consume all this space. Aim low, plan to expand.
Conclusion
Your initial estimate for disk space consumption is going to be just that, an estimate. Having set up scores of Nexus instances for organizations of all sizes, my experience has been that you’ll want to do some ballpark estimates and then multiply that estimate by a factor of two or three. When you connect systems like Hudson to Nexus and deploy snapshots from every integration build, you’ll appreciate the extra space.
As you start to use Nexus, you’ll have to tweak your scheduled jobs to make sure that you are periodically removing old snapshots and regularly keeping an eye on storage. If you expand the number of projects or developers using a Nexus instance, you’ll want to revisit some of these initial estimates and make sure that your system has enough storage to keep track of all the artifacts it is caching and storing.
Nexus Gets a Stop Button
We’ve enhanced the leading repository manager to help you develop better software faster. Nexus 1.9.2, recently released, adds a number of new features.
Stop Running Tasks
You can stop running processes immediately and no longer have to wait for them to complete. This is quite useful for recovering from high load situations. Stopping a running process is easy — just select the process and click on the cancel button (see Figure 1). You can also delete tasks without waiting for them to finish. Delete will automatically stop the process and then delete it.
Improved Maven 2 Support
You’ll get improved support for environments with both Maven 2 and Maven 3 clients. Nexus now suppresses Maven 3 metadata automatically when communicating with Maven 2 clients. This improvement allows you to use such mixed environments successfully.
Enhanced User Information
Sonatype Pro for Nexus customers can better audit who uses each Nexus server with usage information that includes userid and user agent.
Download Nexus Today
So what are you waiting for, download the latest version of Nexus OSS or the professional version from our support site. Learn more about Sonatype Pro for Nexus.
Nexus 1.7.2 Now Available with Improved Search Interface
The Nexus 1.7.2 release offers an improved search interface making it even easier to locate the libraries and artifacts you need in Nexus. Sonatype has published a version of Nexus 1.7.2 on http://repository.sonatype.org which contains some dramatic improvements to the search interface. Download the new Nexus Open Source or Nexus Professional release and start searching for artifacts.
What is new in the Nexus 1.7.2 search interface?
- Search results now link directly to the latest version of a matching artifact.
- Selecting a search result immediately displays information about the matching artifact. You can browse artifact information from the search interface.
- (Nexus Professional) Archive browsing and artifact metadata are available from the search interface.
- Matching artifacts of different types (pom, jar, war, zip, etc.) can be downloaded from the search results page.
This release takes the effort out of searching for artifacts in Nexus. Here are some sceenshots of the new interface now available on http://repository.sonatype.org and soon to be available in the 1.7.2 release of Nexus Open Source and Nexus Professional.
Multi-level Staging and Build Promotion with Nexus Pro 1.7
With the 1.7.1 release Nexus Professional now supports multi-level staging and build promotion. With our existing staging plugin, you can release build artifacts to a temporary staging repository to allow for testing and certification before making a final decision to release artifacts to a hosted repository. With multi-level staging, you can add additional steps to your release process. If you need multiple levels of testing or validation, you can now define both staging profiles and “build promotion” profiles.
When you stage an artifact in Nexus Professional, Nexus creates a temporary staging repository and exposes staged artifacts in a repository group. When you promote a staging repository with a build promotion profile, you can configure Nexus to add promoted artifacts to additional repository groups.


