[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

FSFS format7 status and first results

From: Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com>
Date: Sat, 16 Feb 2013 10:52:21 +0100

Hey all,

Just to give you an update on what is going on that branch,
here a few facts and numbers. Bottom line is that there is
still a lot to do but the basic assumptions proved correct and
significant benefits can already be demonstrated.

* about 20% of the coding is done so far
* some core features implemented:
  logical addressing, reorg upon pack, block read
* format 7 repos are ~3x faster due to reduced I/O
* format 6 repos get faster by ~10%

* format 7 performance hit by cache inefficiency;
  will be addressed by 'container' objects plus a
  change in the membuffer implementation
* on-disk format still in the flux and will remain
  so for a while

Tests were run against a local copy of the TSVN repo with
revprop compression, directory deltification and property
deltification enabled to bring format 6 structurally as
close to format 7 defaults as possible.

All values are given in user-time triples for trunk_at_1446787
on format 6, fsfs-format7_at_1446862 on format 6 and format 7.
"hot" runs mean "from OS cache"; svnserve was restarted
before every test run.

$ time svnadmin verify -M 4000 -q $repo

medium trunk / branch6 / branch7
USB cold 270.5s / 246.3s / 104.4s = 1.00 : 1.10 : 2.59
USB hot 248.0s / 191.0s / 60.8s = 1.00 : 1.30 : 4.08
SSD cold 66.1s / 62.0s / 59.4s = 1.00 : 1.07 : 1.11
SSD hot 63.2s / 60.0s / 57.1s = 1.00 : 1.05 : 1.11

$ time svnbench null-export svn://localhost/tsvn/trunk -q

USB cold 44.29s / 39.63s / 16.24s = 1.00 : 1.12 : 2.73
USB hot 10.68s / 10.25s / 3.78s = 1.00 : 1.04 : 2.83
SSD cold 5.72s / 5.00s / 3.75s = 1.00 : 1.14 : 1.53
SSD hot 2.37s / 2.38s / 3.21s = 1.00 : 1.00 : 0.74

$ time svnbench null-log svn://localhost/tsvn/trunk -v -q

USB cold 54.36s / 50.17s / 8.73s = 1.00 : 1.06 : 6.11
USB hot 43.64s / 36.46s / 3.52s = 1.00 : 1.20 :12.40
SSD cold 9.32s / 10.60s / 3.22s = 1.00 : 0.88 : 2.89
SSD hot 2.36s / 2.28s / 2.88s = 1.00 : 1.04 : 0.82

$ time svnbench null-log svn://localhost/tsvn/trunk -v -g -q

USB cold 98.02s / 87.01s / 23.74s = 1.00 : 1.13 : 4.13
USB hot 69.88s / 57.14s / 7.88s = 1.00 : 1.22 : 8.87
SSD cold 8.35s / 10.50s / 8.16s = 1.00 : 0.80 : 1.02
SSD hot 5.94s / 5.72s / 6.39s = 1.00 : 1.04 : 0.93

Tests have been conducted with maximum optimization:

  ./configure --disable-shared --disable-debug --enable-optimize \
  --without-berkeley-db -without-serf CUSERFLAGS='-march=native'

Svnserve configuration:

  svnserve -dTr $repos -c 0 -M 1000 --client-speed 100 --foreground \
  --cache-txdeltas yes --cache-fulltexts yes --cache-revprops yes

Machine:

  Core2 Duo 2.4Ghz, 8GB RAM, Ubuntu 12.04, 64 bit, SMP
  128GB SSD built-in, ext4
  320GB USB2 HDD external, NTFS

-- Stefan^2.

-- 
Certified & Supported Apache Subversion Downloads:
*
http://www.wandisco.com/subversion/download
*
Received on 2013-02-16 10:53:00 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.