linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Steigerwald <Martin@lichtvoll.de>
To: linux-btrfs@vger.kernel.org
Subject: /home on BTRFS on SSD, now highly fragmenting virtuoso database - use autodefrag?
Date: Thu, 31 Jan 2013 14:44:12 +0100	[thread overview]
Message-ID: <201301311444.12314.Martin@lichtvoll.de> (raw)

Hi!

Today I converted my /home from Ext4 to BTRFS by reformatting and copying
all over again.

I created the filesystem with -l 16384 -n 16384 -d single -m single on an
logical volume Intel SSD 320 and mount with compress=lzo,spacecache. Current state:

merkaba:~> btrfs filesystem show
failed to read /dev/sr0
Label: 'home'  uuid: […]
        Total devices 1 FS bytes used 191.98GB
        devid    1 size 223.52GB used 193.02GB path /dev/dm-2
[…]
merkaba:~> btrfs filesystem df /
Data: total=14.01GB, used=9.98GB
System: total=4.00MB, used=4.00KB
Metadata: total=776.00MB, used=573.20MB



Works well so far and I see no issues.


Except for a highly fragmenting file:

martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> ls -lh
insgesamt 1,2G
-rw------- 1 martin martin 1,3G Jan 31 14:07 soprano-virtuoso.db
-rw-r--r-- 1 martin martin   14 Jan 31 14:06 soprano-virtuoso.lck
-rw------- 1 martin martin    0 Jan 27 17:52 soprano-virtuoso.lock
-rw-r--r-- 1 martin martin  13K Jan 31 10:22 soprano-virtuoso.log
-rw-r--r-- 1 martin martin    0 Jan 27 17:52 soprano-virtuoso.pxa
-rw-r--r-- 1 martin martin 8,0M Jan 31 14:07 soprano-virtuoso-temp.db
-rw-r--r-- 1 martin martin  14K Jan 31 14:07 soprano-virtuoso.trx


martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo filefrag soprano-virtuoso.db
[sudo] password for martin: 
soprano-virtuoso.db: 481 extents found
[…]

martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo btrfs filesystem defragment 
soprano-virtuoso.db
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend#20> sudo filefrag soprano-
virtuoso.db                   
soprano-virtuoso.db: 481 extents found
[…]
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sync
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo filefrag soprano-virtuoso.db
soprano-virtuoso.db: 57 extents found
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo filefrag soprano-virtuoso.db
[sudo] password for martin: 
soprano-virtuoso.db: 3946 extents found
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo filefrag soprano-virtuoso.db
soprano-virtuoso.db: 15143 extents found
martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> 

martin@merkaba:~/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> sudo filefrag soprano-virtuoso.db
soprano-virtuoso.db: 15900 extents found



Now I do not perceive any bottle neck so far and this is an SSD.

What would be your recommendation: Add autodefrag to mount options or not?

For now I am inclined to let it run that way and see how it goes. I am a bit
reluctant about autodefrag cause of the additional writes it causes.


Well, a direct dd of the file to memory is still quite fast:

merkaba:/home/martin/.kde/share/apps/nepomuk/repository/main/data/virtuosobackend> echo 3 > 
/proc/sys/vm/drop_caches; LANG=C dd if=soprano-virtuoso.db of=/dev/null bs=1M
1322+0 records in
1322+0 records out
1386217472 bytes (1.4 GB) copied, 5.34167 s, 260 MB/s


Another database is the Akonadi database, but I am using PostgreSQL for this at
the moment which tends to use lots of (smaller) files and due to KDE PIM from
KDE SC 4.4.11 still in Debian, there is no mail metadata in it, just contacts and
calendar metadata.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

             reply	other threads:[~2013-01-31 13:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-31 13:44 Martin Steigerwald [this message]
2013-01-31 19:24 ` /home on BTRFS on SSD, now highly fragmenting virtuoso database - use autodefrag? Chris Murphy
2013-01-31 21:58 ` Hugo Mills
2013-02-01 20:48   ` Martin Steigerwald

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201301311444.12314.Martin@lichtvoll.de \
    --to=martin@lichtvoll.de \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).