MR checking and accepting always run 'git gc' in backend satellite
I'm using Gitlab CE v7.8, we have a repository of about 1GB size and almost 100 developers working on it.
The problem I met is, when we submit merge request, or accept merge request, Gitlab response very slow for the process. I enabled the Grit debug log in
config/initializers/3_grit_ext.rb
Grit::debug = true
found that in satellite, every time execute git fetch
, or git merge
, it runs gc process:
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
warning: There are too many unreachable loose objects; run 'git prune' to remove them.
This gc process cost about 30s, and it is running every time on checking MR and accepting MR. When we got a log of MR to merge, this slows down the process.