summaryrefslogtreecommitdiff
path: root/faq/tuning.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'faq/tuning.mdwn')
-rw-r--r--faq/tuning.mdwn109
1 files changed, 0 insertions, 109 deletions
diff --git a/faq/tuning.mdwn b/faq/tuning.mdwn
deleted file mode 100644
index bb2b5de..0000000
--- a/faq/tuning.mdwn
+++ /dev/null
@@ -1,109 +0,0 @@
-[[!meta title="Performance tuning"]]
-
-Introduction
-============
-
-Obnam has a number of options for performance tuning. See the
-[[manual page|obnam.1.txt]] for all the details. Below is an adapted
-excerpt of e-mails written by Lionel Bouton of how to test various
-values to find a good set for your situation. See the list archive for
-the e-mails: [first] and [second].
-
-[first]: http://listmaster.pepperfish.net/pipermail/obnam-support-obnam.org/2014-June/003086.html
-[second]: http://listmaster.pepperfish.net/pipermail/obnam-support-obnam.org/2014-June/003090.html
-
-Measurements
-============
-
-Tuning `lru-size` and/or `upload-queue-size` can make a significant
-difference in performance.
-
-Here follows some test results for this situation:
-
-- Data to backup stored on a btrfs volume on SSD: ~155000 files, 3.66GiB.
-
-- Local system: 64 bit Linux, Python 2.7.5, OpenSSH 6.6p1 with hpn patches.
-
-- Local CPU: Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz (mostly idle).
-
-- Remote system: 64bit Linux, OpenSSH 6.6p1 with hpn patches,
- repository data on ext4 on standard SATA 7200rpm disk, large memory
- (everything should fit in memory, only writes should hit disk).
-
-- Very minimal changes in the data backed up during tests so
- successive backups only check for differences and backup transfers
- nearly no content.
-
-- Backup over WiFi (~1ms RTT, max speed over sftp ~3MB/s).
-
-I use this command line without any configuration file:
-
- obnam -r sftp://obnam@SERVER/~/repo --compress-with=deflate \
- --client-name=CLIENT backup DIR
-
-During testing I added `--lru-size <l> --upload-queue-size <q>` with
-different `<l>` and `<q>` values.
-
-The resident memory of the Obnam process grows steadily (probably
-filling caches) until it hits a pretty stable ceiling (cache full or
-nothing new to put in cache) during the backup. It raises again
-rapidly at the very end (during commits/unlock/...). The value
-reported below is obtained either through the RES column reported by
-the htop utility or the RSS column reported by "ps aux" and is the max
-witnessed near the end of the backup.
-
-Each combination was tested at least twice unless it was considered
-not interesting after the first run. Timing seems consistent enough
-given the systems involved (the system hosting the repository is often
-busy) and memory usage is very consistent across runs.
-
-Default values as fetched from `__init__.py` are: l=256, q=128.
-
- | Conditions | Time | Memory |Number of runs |
- +--------------------+-----------------+------------+----------------+
- | default values | 22m21s - 24m51s | ~260M | 2 |
- | l=10000, q=default | 13m45s - 15m03s | ~332M | 2 |
- | l=default, q=250 | 08m23s - 10m29s | ~278M | 5 |
- | l=default, q=350 | 02m42s - 02m49s | 272-276M | 2 |
- | l=default, q=400 | 02m13s - 02m18s | 268-272M | 3 |
- | l=default, q=500 | 02m10s - 02m16s | 267-272M | 3 |
- | l=default, q=512 | 02m13s - 02m14s | 265-269M | 2 |
- | l=512, q=512 | 01m55s - 02m06s | 322-326M | 3 |
- | l=768, q=512 | 01m55s - 01m58s | 397-418M | 3 |
- | l=1024, q=512 | 01m53s - 01m55s | 403-418M | 3 |
- | l=2048, q=512 | 01m55s - 01m59s | 408-410M | 3 |
- | l=4096, q=512 | ~01m58s | ~419M | 1 |
- | l=default, q=600 | 02m14s - 02m26s | 269-272M | 4 |
- | l=default, q=750 | 02m13s - 02m15s | 266-272M | 2 |
- | l=default, q=1000 | 02m19s - 02m20s | ~266M | 2 |
- | l=default, q=10000 | 02m23s - 02m35s | ~266M | 2 |
-
-So in my configuration, when nearly no data changes between backups,
-`--lru-size=1024 --upload-queue-size=512` is at least 11x faster than the
-default configuration.
-
-Discussion
-==========
-
-`--upload-queue-size` seems to have the greatest effect without any
-adverse effect (memory usage remains at the same level).
-For a little extra boost with a small impact on memory usage, I can
-increase `--lru-size` to 1024.
-
-Note that Obnam was using 100% of the CPU for most of the time in the
-fastest configuration, replacing `--verbose` with `--quiet` didn't
-change the running time.
-
-Please note that the ideal settings for my backup configuration might
-differ from the ones for yours. You might get even better results after
-tuning of your own.
-
-These parameters have a nice behaviour for tuning: `upload-queue-size`
-doesn't seem to have much drawback if at all when being increased (it
-begins to give signs of slowing down obnam at 10000 here but it might be
-the performance variance inherent in my configuration) and increasing
-`lru-size` only increases memory usage a bit without slowing things
-noticeably after reaching the ideal spot.
-
-A good rule of thumb seems to try increasing one of these parameters by
-2x or 4x and keep going at it until performance stops increasing.