Version 4

    This page describes steps for improving the performance of the Maven repository.  The improvements are listed in the general order in which they are expected to be completed.


    Improve QA/Hudson configuration

    We have a large hudson-based CI system which is probably the biggest single user of the Maven repository.  The current plan is to set up a new Nexus instance which is close (large bandwidth) to the Hudson servers.  This will likely be the OSS version of Nexus because it will function only as a proxy repository, and possibly host some internal artifacts.  This should improve the performance of the Hudson builds as well as reducing the load on the main repository.


    Update Nexus to version 1.6.0

    The new version of Nexus includes a fix for the memory leak in the custom metadata plugin.  It also uses the Guice framework which improves the overall performance of Nexus.


    Configure an additional server for load balancing

    We currently have additional server hardware available to use for the Maven repository.  This server could potentially be used for load balancing.


    Switch from Apache to nginx

    This was suggested by Sonatype because they've had a good experience with the performance of nginx on other repositories.


    Make the repositories available as static files

    Create a mirror of the public repository and developer repository groups which serves only static files


    Switch to a new Security System has plans to replace the old security system (JBoss nukes) with a new system possibly based on LDAP.  This could significantly improve the performance when authenticating users in Nexus.


    Change disk configuration

    The repository is currently stored in a mounted NFS directory.  If this proves to be a problem, we will examine other options for the physical storage of the repository data.