We've been running git over SSH on our Mac OS X server. (It happens to be a Mini.) Problem is, it's frightfully slow. We often see speeds under 100KiB/s for cloning repositories from this server, and similar speeds cloning repositories from elsewhere to this server. The issue is not the server or its network connection; we've run speed tests and seen 1.5 to 2MB/s download speeds and up to 7MB/s upload. scp
transfers of large files are similarly quick.
Our theory is that git is moving a ton of tiny files, and this is causing filesystem overhead which is slowing the transfer.
- Is this a reasonable theory?
- Is there anything we can do to improve git performance on this box, or should we be looking for alternative hosting for our git repositories?
Your theory sounds likely if your git repo contains a lot of small files. On a single disk, with no hardware acceleration (SSD), you will probably see a tps of two digits at most in
iostat
.Gather some data to help verify or falsify your theory.