Uploaded image for project: 'Bitbucket Server'
  1. Bitbucket Server
  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

              Assignee:
              bturner Bryan Turner
              Reporter:
              bturner Bryan Turner
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: