All of lore.kernel.org
 help / color / mirror / Atom feed
From: David McBride <dwm@doc.ic.ac.uk>
To: "Swâmi Petaramesh" <swami@petaramesh.org>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Rename BTRfs to MuchSlowerFS ?
Date: Mon, 05 Sep 2011 15:17:23 +0100	[thread overview]
Message-ID: <4E64D9F3.9010201@doc.ic.ac.uk> (raw)
In-Reply-To: <4E64D3D5.7020407@petaramesh.org>

On 05/09/11 14:51, =EF=BF=BD wrote:

> Given 4 laptops, the most powerful of which was running BTRFS and the=
 others
> ext3 or ext4, all machines running Ubuntu 11.04 Natty 32-bit with a s=
tock
> Ubuntu 2.6.38-11 kernel, all machines were given the following FS-int=
ensive
> task :

(dpkg-intensive workload)

> All 3 ext3 /  ext4 machines took between 60 and 90 minutes to complet=
e their
> upgrade.
>=20
> BTRFS machine took 20 HOURS so far, still counting (ETA 15 minutes le=
ft).
>=20
> Wow. Impressive.

I see similar behaviour on a single-disk workstation. This is a consequ=
ence of
dpkg's heavy use of fsync() to ensure that changes to the filesystem ar=
e done
safely, to try to ensure that a sudden crash or power interruption does=
n't
leave the machine in an inconsistent or unrecoverable state.

(You can see that btrfs performs speedily if fsync is disabled via, for
example, `eatmydata`.  Which is not a production-worthy workaround for =
the
majority of cases, but usefully highlights what's going wrong.)

See also:
  https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/607632
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D635993

Now, I don't know why btrfs is particularly slow with a (relatively?)
fsync-heavy workload, though I do note that a commit went into 3.0 that
improved some fsync workloads; see commit:
8e531cdfeb75269c6c5aae33651cca39707848da

However, in my own testing, it doesn't seem to have improved matters
significantly.

There were also a number of fsync-related improvements made in 2.6.32; =
perhaps
there have been regressions since then?

It seems clear that the dpkg developers consider this to be reasonable
behaviour on their part; is there any scope for improvements to be made=
 to
btrfs to cope better with this kind of workload?  Or is this an unavoid=
able
property of the datastructures it's using?

Cheers,
David
--=20
David McBride <dwm@doc.ic.ac.uk>
Department of Computing, Imperial College, London
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" =
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2011-09-05 14:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-05 13:51 Rename BTRfs to MuchSlowerFS ? Swâmi Petaramesh
2011-09-05 14:00 ` Hugo Mills
2011-09-05 14:20   ` Roman Mamedov
2011-09-05 17:10     ` Elric Milon
2011-09-05 14:17 ` David McBride [this message]
2011-09-05 19:25 ` Sergei Trofimovich
2011-09-06 15:30   ` Swâmi Petaramesh
2011-09-06 17:11     ` Fajar A. Nugraha
2011-09-07 14:15       ` Swâmi Petaramesh
2011-09-15 19:37         ` Felix Blanke
2011-09-15 22:16           ` Fajar A. Nugraha
2011-09-16  6:21             ` Maciej Marcin Piechotka
2011-09-16  6:42               ` Fajar A. Nugraha
2011-09-16  8:39                 ` Maciej Marcin Piechotka
  -- strict thread matches above, loose matches on Subject: below --
2011-09-05 16:23 Tomasz Chmielewski
2011-09-05 16:25 ` Christoph Hellwig
2011-09-05 16:29   ` Hugo Mills
2011-09-08  7:04     ` youagree

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=4E64D9F3.9010201@doc.ic.ac.uk \
    --to=dwm@doc.ic.ac.uk \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=swami@petaramesh.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.