Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-12599

NIO-based HTTP and SSH hosting on Windows is slow

    XMLWordPrintable

Details

    Description

      Issue Summary

      Bitbucket Server 7.4 introduced changes which replace the use of blocking I/O for interacting with git http-backend, git receive-pack and git upload-pack with non-blocking I/O. The new approach appears to have performance issues unique to Windows which makes clones slower than they were with the previous blocking I/O code. This does not apply to Linux, where speed is unaffected.

      Steps to Reproduce

      1. Upgrade to Bitbucket Server 7.4.0 or newer
      2. Perform a clone over HTTP or SSH

      Expected Results

      Clone speeds are at least equal to speeds on 7.3 and prior.

      Actual Results

      Clone speeds are significantly slower. While exact numbers are hard to pin down, BIO-based hosting appears to be 10x faster than NIO.

      Workaround

      Disable NIO-based hosting for HTTP and SSH. This is a short-term workaround as the ability to switch back to BIO-based hosting will be removed in a future version of Bitbucket Server. NIO hosting can be disabled by applying the following in bitbucket.properties and restarting Bitbucket Server.

      plugin.bitbucket-git.hosting.nio.http=false
      plugin.bitbucket-git.hosting.nio.ssh=false
      

      Attachments

        Issue Links

          Activity

            People

              bturner Bryan Turner (Inactive)
              bturner Bryan Turner (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync