syncthing/lib
Jakob Borg a992559abc
lib/db: Add hacky way to adjust database parameters (#5889)
This adds a set of magical environment variables that can be used to
tweak the database parameters. It's totally undocumented and not
intended to be a long term or supported thing.

It's ugly, but there is a backstory. I have a couple of large
installations where the database options are inefficient or otherwise
suboptimal (24/7 compaction going on and stuff like that). I don't
*know* the correct database parameters, nor yet the formula or method to
derive them by, so this requires experimentation. Experimentation needs
to happen partly in production, and rolling out new builds for every
tweak isn't practical. This provides override points for all reasonable
values, while not changing anything by default.

Ideally, at the end of such experimentation, we'll know which values are
relevant to change and in what manner, and can provide a more user
friendly knob to do so - or do it automatically based on the database
size.
2019-07-26 22:18:42 +02:00
..
api lib/config: Error on empty folder path (fixes #5853) (#5854) 2019-07-14 11:03:14 +02:00
auto build: Let "go generate" create assets 2018-06-26 10:29:36 +02:00
beacon lib: Ensure timely service termination (fixes #5860) (#5863) 2019-07-19 19:40:40 +02:00
build lib/build: Version 1.2 will be the Fermium Flea 2019-06-06 14:45:07 +02:00
config lib: Add mtime window when comparing files (#5852) 2019-07-23 21:48:53 +02:00
connections lib: Add util.Service as suture.Service template (fixes #5801) (#5806) 2019-07-09 11:40:30 +02:00
db lib/db: Add hacky way to adjust database parameters (#5889) 2019-07-26 22:18:42 +02:00
dialer all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
discover lib: Add util.Service as suture.Service template (fixes #5801) (#5806) 2019-07-09 11:40:30 +02:00
events all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
fs lib/fs: Fix kqueue event list (fixes #5308) (#5885) 2019-07-23 14:11:15 +02:00
ignore lib/ignore: Additional test case (#5672) 2019-04-28 21:20:11 +01:00
locations all: Use new reflect based CLI (#5487) 2019-02-12 07:58:24 +01:00
logger all: Get rid of fatal logging (#5537) 2019-02-14 20:29:14 +00:00
model lib: Add mtime window when comparing files (#5852) 2019-07-23 21:48:53 +02:00
nat lib/model, lib/nat: More service termination speedup (#5884) 2019-07-23 10:49:22 +02:00
osutil lib/versioner: Restore for all versioners, cross-device support (#5514) 2019-04-28 23:30:16 +01:00
pmp all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
protocol lib: Add mtime window when comparing files (#5852) 2019-07-23 21:48:53 +02:00
rand lib/connections: Add QUIC protocol support (fixes #5377) (#5737) 2019-05-29 09:56:40 +02:00
rc all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
relay lib: Ensure timely service termination (fixes #5860) (#5863) 2019-07-19 19:40:40 +02:00
scanner lib: Add mtime window when comparing files (#5852) 2019-07-23 21:48:53 +02:00
sha256 all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
signature all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
stats lib/db: Refactor: use a Lowlevel type underneath Instance (ref #5198) (#5212) 2018-10-10 11:34:24 +02:00
stun lib: Ensure timely service termination (fixes #5860) (#5863) 2019-07-19 19:40:40 +02:00
sync all: Even more boring linter fixes (#5501) 2019-02-02 11:45:17 +01:00
syncthing cmd/syncthing, lib/syncthing: Create library utils (ref #4085) (#5871) 2019-07-23 23:39:20 +02:00
testutils lib/model, lib/testutils: Test closing a connection on folder restart (#5707) 2019-05-18 08:53:59 +02:00
tlsutil lib/tlsutil: Enable TLS 1.3 when available, on test builds (fixes #5065) (#5558) 2019-02-26 11:49:02 +01:00
upgrade all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
upnp lib/upnp: Don’t log unknown device types (fixes #5038) (#5087) 2018-07-30 16:34:35 +02:00
ur lib: Add util.Service as suture.Service template (fixes #5801) (#5806) 2019-07-09 11:40:30 +02:00
util lib: Ensure timely service termination (fixes #5860) (#5863) 2019-07-19 19:40:40 +02:00
versioner lib/versioner: Replace multiple placeholders in a single token in external command (fixes #5849) 2019-07-12 08:45:39 +01:00
watchaggregator all: Hide implementations behind interfaces for mocked testing (#5548) 2019-02-26 08:09:25 +00:00
weakhash lib/scanner: Use standard adler32 when we don't need rolling (#5556) 2019-02-25 13:29:31 +04:00