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