我们已经在我们的Mac OS X服务器上通过SSH运行git。 (这恰好是一个迷你)问题是,这是非常缓慢的。 我们经常看到速度低于100KiB / s来从服务器克隆存储库,而类似的速度将存储库从其他地方克隆到这个服务器。 问题不在于服务器或其networking连接; 我们已经进行了速度testing,下载速度为1.5到2MB / s,上传速度高达7MB / s。 大文件的scp传输同样很快。
我们的理论是,git正在移动大量的小文件,这导致了文件系统开销的减慢。
如果你的git repo包含很多小文件,你的理论听起来很可能。 在没有硬件加速(SSD)的单个磁盘上, iostat中最多可以看到两位数的tps。
收集一些数据来帮助validation或歪曲你的理论。
# iostat -d 1 disk0 disk1 disk2 KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s 64.41 23 1.43 90.38 11 1.01 581.67 0 0.02 20.00 2 0.04 0.00 0 0.00 0.00 0 0.00 265.33 3 0.78 0.00 0 0.00 0.00 0 0.00