linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Robinson <john.robinson@anonymous.org.uk>
To: NeilBrown <neilb@suse.de>
Cc: Linux RAID <linux-raid@vger.kernel.org>
Subject: Re: Poor write performance with write-intent bitmap?
Date: Tue, 21 Apr 2009 03:13:23 +0100	[thread overview]
Message-ID: <49ED2BC3.7050109@anonymous.org.uk> (raw)
In-Reply-To: <4081b80da35818efbc07723240f8ea36.squirrel@neil.brown.name>

On 21/04/2009 02:33, NeilBrown wrote:
[...]
> Choosing a larger --bitmap-chunk size will require fewer updates to the
> bitmap before writes are allowed to proceed.   However a larger bitmap-chunk
> size will also increase the amount of work needed after a crash or
> re-added device.

Ah, from my reading of the mdadm man page I thought you could only 
specify the chunk size when using an external bitmap:
--bitmap-chunk=
        Set  the  chunksize  of the bitmap. Each bit corresponds to that
        many Kilobytes of storage.  When using a file based bitmap,  the
        default  is  to  use  the  smallest  size that is at-least 4 and
        requires no more than  2^21  chunks.   When  using  an  internal
        bitmap,  the  chunksize is automatically determined to make best
        use of available space.

> Check your current (default) chunk size with "mdadm -X /dev/sdxx" and
> create a new bitmap with (say) 16 or 64 times the chunk size.
> See if that makes a difference.

It certainly does. Upping it from 2M to 32M gets me from 45MB/s to 
81MB/s on the scratch LV, and there's noticeably less seek noise.

Eeek! Trying to `mdadm --grow /dev/md1 --bitmap=none` from my large 
chunk size caused a reboot! There's nothing in the log, and I didn't see 
the console. I still have my 32M chunksize but I don't want to try that 
again in a hurry :-)

[...]
> Your other option is to put the bitmap in a file on some other device.
> If you have a device this is rarely used (maybe your root filesystem)

Can't do that, my root filesystem is on the RAID-5, and part of the 
reason for wanting the bitmap is because the md can't be stopped while 
shutting down, so it was always wanting to resync at startup, which is 
rather tedious.

> Maybe you could create an external bitmap in a tmpfs.... but then
> it wouldn't survive a crash and so has little value.  It would be
> fast though :-)

"Ooh, virtual memory! Now I can have a really big RAM disc!"

Now, it's time I checked my discs to see if I've lost data in that 
crash. `mdadm -X` is stuck saying there are 10 dirty chunks.

Cheers,

John.

  reply	other threads:[~2009-04-21  2:13 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-20 17:12 Performance of a software raid 5 Johannes Segitz
2009-04-20 23:46 ` John Robinson
2009-04-21  0:10   ` Johannes Segitz
2009-04-21  0:52     ` John Robinson
2009-04-21  1:05       ` Johannes Segitz
2009-04-21  1:12         ` John Robinson
2009-04-21  1:19         ` NeilBrown
2009-04-21  2:04           ` Johannes Segitz
2009-04-21  5:46             ` Neil Brown
2009-04-21 12:40               ` Johannes Segitz
2009-04-24 13:49                 ` Johannes Segitz
2009-04-26 17:03               ` Johannes Segitz
2009-04-21 18:56             ` Corey Hickey
2009-04-22 12:29               ` Bill Davidsen
2009-04-22 22:32                 ` Corey Hickey
2009-04-22  9:07           ` Goswin von Brederlow
2009-04-21  0:44   ` Poor write performance with write-intent bitmap? John Robinson
2009-04-21  1:33     ` NeilBrown
2009-04-21  2:13       ` John Robinson [this message]
2009-04-21  5:50         ` Neil Brown
2009-04-21 12:05           ` John Robinson
2009-05-22 23:00             ` Redeeman
2009-04-22  9:16         ` Goswin von Brederlow
2009-04-22 12:41           ` John Robinson
2009-04-22 14:02             ` Goswin von Brederlow
2009-04-23  7:48               ` John Robinson
2009-04-22 14:21             ` Andre Noll
2009-04-23  8:04               ` John Robinson
2009-04-23 20:23                 ` Goswin von Brederlow
2009-04-21 16:00       ` Bill Davidsen

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=49ED2BC3.7050109@anonymous.org.uk \
    --to=john.robinson@anonymous.org.uk \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    /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).