commit | author | age
|
d02011
|
1 |
|
JM |
2 |
## Scaling Gitblit
|
|
3 |
|
|
4 |
My experience with scaling Gitblit to be very large is from interacting with those who do run very large Gitblit or Gerrit installs.
|
|
5 |
|
|
6 |
### Configuring Big JGit Servers
|
|
7 |
|
|
8 |
-Xmx8g # gobs of JVM heap
|
|
9 |
|
|
10 |
# for `jgit daemon` or gerrit.config
|
|
11 |
[core]
|
|
12 |
packedGitLimit = 4g # around 50% of JVM heap
|
|
13 |
packedGitOpenFiles = 8192 # don't forget to configure ulimit
|
|
14 |
streamFileThreshold = 2047m # avoids pathological inflate
|
|
15 |
deltaBaseCacheLimit = 50m
|
|
16 |
|
|
17 |
# applies to `jgit gc`
|
|
18 |
[pack]
|
|
19 |
bigFileThreshold = 20m # don't delta compress big binaries
|
|
20 |
indexVersion = 2 # use index v2
|
|
21 |
|
|
22 |
-- Shawn Pearce, co-team lead on JGit @ Google ([slides](http://www.eclipsecon.org/2013/sites/eclipsecon.org.2013/files/Scaling%20Up%20JGit%20-%20EclipseCon%202013.pdf))
|
|
23 |
|
|
24 |
### How does these Gerrit settings apply to Gitblit?
|
|
25 |
|
|
26 |
Gerrit & Gitblit are both JGit-based servers. They have similar configuration options. Here are the relevant Gitblit settings:
|
|
27 |
|
|
28 |
git.packedGitLimit = 4g
|
|
29 |
git.packedGitOpenFiles = 8192
|
|
30 |
git.streamFileTreshold = 2047m
|
|
31 |
git.deltaBaseCacheLimit = 50m
|
|
32 |
|