My experience with scaling Gitblit to be very large is from interacting with those who do run very large Gitblit or Gerrit installs.
-Xmx8g # gobs of JVM heap
# for `jgit daemon` or gerrit.config [core] packedGitLimit = 4g # around 50% of JVM heap packedGitOpenFiles = 8192 # don't forget to configure ulimit streamFileThreshold = 2047m # avoids pathological inflate deltaBaseCacheLimit = 50m # applies to `jgit gc` [pack] bigFileThreshold = 20m # don't delta compress big binaries indexVersion = 2 # use index v2
-- Shawn Pearce, co-team lead on JGit @ Google (slides)
Gerrit & Gitblit are both JGit-based servers. They have similar configuration options. Here are the relevant Gitblit settings:
git.packedGitLimit = 4g git.packedGitOpenFiles = 8192 git.streamFileTreshold = 2047m git.deltaBaseCacheLimit = 50m