Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2227 - 1
### This file controls the configuration of the FSFS filesystem.
2
 
3
[memcached-servers]
4
### These options name memcached servers used to cache internal FSFS
5
### data.  See http://www.danga.com/memcached/ for more information on
6
### memcached.  To use memcached with FSFS, run one or more memcached
7
### servers, and specify each of them as an option like so:
8
# first-server = 127.0.0.1:11211
9
# remote-memcached = mymemcached.corp.example.com:11212
10
### The option name is ignored; the value is of the form HOST:PORT.
11
### memcached servers can be shared between multiple repositories;
12
### however, if you do this, you *must* ensure that repositories have
13
### distinct UUIDs and paths, or else cached data from one repository
14
### might be used by another accidentally.  Note also that memcached has
15
### no authentication for reads or writes, so you must ensure that your
16
### memcached servers are only accessible by trusted users.
17
 
18
[caches]
19
### When a cache-related error occurs, normally Subversion ignores it
20
### and continues, logging an error if the server is appropriately
21
### configured (and ignoring it with file:// access).  To make
22
### Subversion never ignore cache errors, uncomment this line.
23
# fail-stop = true
24
 
25
[rep-sharing]
26
### To conserve space, the filesystem can optionally avoid storing
27
### duplicate representations.  This comes at a slight cost in
28
### performance, as maintaining a database of shared representations can
29
### increase commit times.  The space savings are dependent upon the size
30
### of the repository, the number of objects it contains and the amount of
31
### duplication between them, usually a function of the branching and
32
### merging process.
33
###
34
### The following parameter enables rep-sharing in the repository.  It can
35
### be switched on and off at will, but for best space-saving results
36
### should be enabled consistently over the life of the repository.
37
### 'svnadmin verify' will check the rep-cache regardless of this setting.
38
### rep-sharing is enabled by default.
39
# enable-rep-sharing = true
40
 
41
[deltification]
42
### To conserve space, the filesystem stores data as differences against
43
### existing representations.  This comes at a slight cost in performance,
44
### as calculating differences can increase commit times.  Reading data
45
### will also create higher CPU load and the data will be fragmented.
46
### Since deltification tends to save significant amounts of disk space,
47
### the overall I/O load can actually be lower.
48
###
49
### The options in this section allow for tuning the deltification
50
### strategy.  Their effects on data size and server performance may vary
51
### from one repository to another.  Versions prior to 1.8 will ignore
52
### this section.
53
###
54
### The following parameter enables deltification for directories. It can
55
### be switched on and off at will, but for best space-saving results
56
### should be enabled consistently over the lifetime of the repository.
57
### Repositories containing large directories will benefit greatly.
58
### In rarely accessed repositories, the I/O overhead may be significant
59
### as caches will most likely be low.
60
### directory deltification is enabled by default.
61
# enable-dir-deltification = true
62
###
63
### The following parameter enables deltification for properties on files
64
### and directories.  Overall, this is a minor tuning option but can save
65
### some disk space if you merge frequently or frequently change node
66
### properties.  You should not activate this if rep-sharing has been
67
### disabled because this may result in a net increase in repository size.
68
### property deltification is enabled by default.
69
# enable-props-deltification = true
70
###
71
### During commit, the server may need to walk the whole change history of
72
### of a given node to find a suitable deltification base.  This linear
73
### process can impact commit times, svnadmin load and similar operations.
74
### This setting limits the depth of the deltification history.  If the
75
### threshold has been reached, the node will be stored as fulltext and a
76
### new deltification history begins.
77
### Note, this is unrelated to svn log.
78
### Very large values rarely provide significant additional savings but
79
### can impact performance greatly - in particular if directory
80
### deltification has been activated.  Very small values may be useful in
81
### repositories that are dominated by large, changing binaries.
82
### Should be a power of two minus 1.  A value of 0 will effectively
83
### disable deltification.
84
### For 1.8, the default value is 1023; earlier versions have no limit.
85
# max-deltification-walk = 1023
86
###
87
### The skip-delta scheme used by FSFS tends to repeatably store redundant
88
### delta information where a simple delta against the latest version is
89
### often smaller.  By default, 1.8+ will therefore use skip deltas only
90
### after the linear chain of deltas has grown beyond the threshold
91
### specified by this setting.
92
### Values up to 64 can result in some reduction in repository size for
93
### the cost of quickly increasing I/O and CPU costs. Similarly, smaller
94
### numbers can reduce those costs at the cost of more disk space.  For
95
### rarely read repositories or those containing larger binaries, this may
96
### present a better trade-off.
97
### Should be a power of two.  A value of 1 or smaller will cause the
98
### exclusive use of skip-deltas (as in pre-1.8).
99
### For 1.8, the default value is 16; earlier versions use 1.
100
# max-linear-deltification = 16
101
###
102
### After deltification, we compress the data through zlib to minimize on-
103
### disk size.  That can be an expensive and ineffective process.  This
104
### setting controls the usage of zlib in future revisions.
105
### Revisions with highly compressible data in them may shrink in size
106
### if the setting is increased but may take much longer to commit.  The
107
### time taken to uncompress that data again is widely independent of the
108
### compression level.
109
### Compression will be ineffective if the incoming content is already
110
### highly compressed.  In that case, disabling the compression entirely
111
### will speed up commits as well as reading the data.  Repositories with
112
### many small compressible files (source code) but also a high percentage
113
### of large incompressible ones (artwork) may benefit from compression
114
### levels lowered to e.g. 1.
115
### Valid values are 0 to 9 with 9 providing the highest compression ratio
116
### and 0 disabling it altogether.
117
### The default value is 5.
118
# compression-level = 5
119
 
120
[packed-revprops]
121
### This parameter controls the size (in kBytes) of packed revprop files.
122
### Revprops of consecutive revisions will be concatenated into a single
123
### file up to but not exceeding the threshold given here.  However, each
124
### pack file may be much smaller and revprops of a single revision may be
125
### much larger than the limit set here.  The threshold will be applied
126
### before optional compression takes place.
127
### Large values will reduce disk space usage at the expense of increased
128
### latency and CPU usage reading and changing individual revprops.
129
### Values smaller than 4 kByte will not improve latency any further and
130
### quickly render revprop packing ineffective.
131
### revprop-pack-size is 4 kBytes by default for non-compressed revprop
132
### pack files and 16 kBytes when compression has been enabled.
133
# revprop-pack-size = 4
134
###
135
### To save disk space, packed revprop files may be compressed.  Standard
136
### revprops tend to allow for very effective compression.  Reading and
137
### even more so writing, become significantly more CPU intensive.
138
### Compressing packed revprops is disabled by default.
139
# compress-packed-revprops = false
140
 
141
[io]
142
### Parameters in this section control the data access granularity in
143
### format 7 repositories and later.  The defaults should translate into
144
### decent performance over a wide range of setups.
145
###
146
### When a specific piece of information needs to be read from disk,  a
147
### data block is being read at once and its contents are being cached.
148
### If the repository is being stored on a RAID, the block size should be
149
### either 50% or 100% of RAID block size / granularity.  Also, your file
150
### system blocks/clusters should be properly aligned and sized.  In that
151
### setup, each access will hit only one disk (minimizes I/O load) but
152
### uses all the data provided by the disk in a single access.
153
### For SSD-based storage systems, slightly lower values around 16 kB
154
### may improve latency while still maximizing throughput.  If block-read
155
### has not been enabled, this will be capped to 4 kBytes.
156
### Can be changed at any time but must be a power of 2.
157
### block-size is given in kBytes and with a default of 64 kBytes.
158
# block-size = 64
159
###
160
### The log-to-phys index maps data item numbers to offsets within the
161
### rev or pack file.  This index is organized in pages of a fixed maximum
162
### capacity.  To access an item, the page table and the respective page
163
### must be read.
164
### This parameter only affects revisions with thousands of changed paths.
165
### If you have several extremely large revisions (~1 mio changes), think
166
### about increasing this setting.  Reducing the value will rarely result
167
### in a net speedup.
168
### This is an expert setting.  Must be a power of 2.
169
### l2p-page-size is 8192 entries by default.
170
# l2p-page-size = 8192
171
###
172
### The phys-to-log index maps positions within the rev or pack file to
173
### to data items,  i.e. describes what piece of information is being
174
### stored at any particular offset.  The index describes the rev file
175
### in chunks (pages) and keeps a global list of all those pages.  Large
176
### pages mean a shorter page table but a larger per-page description of
177
### data items in it.  The latency sweetspot depends on the change size
178
### distribution but covers a relatively wide range.
179
### If the repository contains very large files,  i.e. individual changes
180
### of tens of MB each,  increasing the page size will shorten the index
181
### file at the expense of a slightly increased latency in sections with
182
### smaller changes.
183
### For source code repositories, this should be about 16x the block-size.
184
### Must be a power of 2.
185
### p2l-page-size is given in kBytes and with a default of 1024 kBytes.
186
# p2l-page-size = 1024