Details
-
Bug
-
Resolution: Fixed
-
High
-
7.4.0, 7.5.0, 7.6.0
-
1
-
Severity 2 - Major
-
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
- Upgrade to Bitbucket Server 7.4.0 or newer
- 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