Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-20104

OrientDB database backups default compression level and buffer size are not optimized

    XMLWordPrintable

    Details

      Description

      During upgrade, each OrientDB database is checkpointed using standard OrientDB backup API.

      Two backup options we hardcode defaults for are compressionLevel and bufferSize at 9 and 16kb respectively. These defaults are optimized for high compression to save disk space and low RAM utilization for a server system at the cost of speed.

      The API call is made here:

      https://github.com/sonatype/nexus-public/blob/1d4f1fe8ac126463ce16b2a8cf8da19bbbb3a320/components/nexus-orient/src/main/java/org/sonatype/nexus/orient/DatabaseExternalizerImpl.java#L53

      NXRM also includes an "Admin Exported databases for backup" task used to perform regular backups. The defaults in this case, up to at least version 3.16.2, for compression level and buffer size are defaulted to 9 and 1kb respectively. These defaults are optimized for high compression and low RAM utilization.

      The problem is the defaults do not seem optimized for the general case.

      Expected

      Neither default buffer size value of 16MB or 1MB seems ideal for typical server installs. Customer want backups to be as fast as possible at the cost of RAM. We should increase the buffer size to a larger value and align these values.

      A maximum compression level of 9 will maximize CPU utilization and further lengthen backup time. Generally customers would prefer minimizing CPU and backup time at the cost of disk. Disk is cheap and it is harder to scale CPU and I/O. An offline compression of the backup can be performed if needed.

      • align default values wherever backup is performed
      • increase default buffer size
      • decrease default compression level

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mbucher Michael Bucher
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Rich Seddon
              Team:
              NXRM - Morpheus
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title