Optimizing Nexus Repository 2 Disk IO Performance

Visit my.sonatype.com for documentation on Nexus Repository version 2.

Nexus Repository 2 serves files off the disk - as such, optimizing disk I/O is an important administrative task on heavily loaded systems.

Sonatype offers general advice based on our experience with heavily loaded Nexus instances. Ultimately any optimizations should be at the discretion of your operations personnel.

Avoid Recording File Access Times On Reads

When mounting the Nexus Repository 2 work location, configure the mount to not write file access times when files are read off disk.

*nix

On Unix systems consult the manuals for /etc/fstab and the mount command.

From https://wiki.archlinux.org/index.php/fstab#atime_options .:


The use of noatimenodiratime or relatime can impact drive performance.

  • The atime option updates the atime of the files every time they are accessed. This is more purposeful when Linux is used for servers; it does not have much value for desktop use. The drawback about the atime option is that even reading a file from the page cache (reading from memory instead of the drive) will still result in a write!
Using the noatime option fully disables writing file access times to the drive every time you read a file. This works well for almost all applications, except for a rare few like Mutt that needs such information. For mutt, you should only use the relatime option.
The nodiratime option disables the writing of file access times only for directories while other files still get access times written.
Note: noatime already includes nodiratimeYou do not need to specify both.
  • relatime enables the writing of file access times only when the file is being modified (unlike noatime where the file access time will never be changed and will be older than the modification time). The best compromise might be the use this option since programs like Mutt will continue to work, but you will still have a performance boost as the files will not get access times updated unless they are modified. This option is used when the defaultskeyword option or no options at all are specified in fstab for a given mount point.

Windows

NTFS file systems have a similar option using fsutil:

fsutil behavior set disablelastaccess 1

Contact your Windows Administrator and refer to this article:

https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc785435(v=ws.11)?redirectedfrom=MSDN


Avoid Using NFS 

NFS can be slow if not configured correctly and commonly does not keep up with the demands of busy I/O. It is not a good solution for the high-performance IO that Nexus Repository 2 needs in it's work directory.

For the highest performance, use a SAN.

 

Have more questions? Submit a request

2 Comments

  • 0
    Avatar
    Ray Dreyer

    In the "avoid Using NFS" section you end with "use a San or NAS instead". NFS is a NAS protocol..

  • 0
    Avatar
    Peter Lynch

    We are closing this article for comments.

    If you have a support license, please contact us by submitting a support ticket.

    If you do not have a support license, please use our Nexus Users List or our other free support resources.

Article is closed for comments.