linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Greaves <david@dgreaves.com>
To: Dan Christensen <jdc@uwo.ca>
Cc: mingz@ele.uri.edu, Linux RAID <linux-raid@vger.kernel.org>
Subject: Re: RAID-5 streaming read performance
Date: Wed, 13 Jul 2005 19:02:34 +0100	[thread overview]
Message-ID: <42D5573A.6090801@dgreaves.com> (raw)
In-Reply-To: <87vf3eeqe2.fsf@uwo.ca>

Dan Christensen wrote:

>Ming Zhang <mingz@ele.uri.edu> writes:
>
>  
>
>>test on a production environment is too dangerous. :P
>>and many benchmark tool u can not perform as well.
>>    
>>
>
>Well, I put "production" in quotes because this is just a home mythtv
>box.  :-)  So there are plenty of times when it is idle and I can do
>benchmarks.  But I can't erase the hard drives in my tests.
>  
>
Me too.

>>LVM overhead is small, but file system overhead is hard to say.
>>    
>>
>I expected LVM overhead to be small, but in my tests it is very high.
>I plan to discuss this on the lvm mailing list after I've got the RAID
>working as well as possible, but as an example:
>
>Streaming reads using dd to /dev/null:
>
>component partitions, e.g. /dev/sda7: 58MB/s
>raid device /dev/md2:                 59MB/s
>lvm device /dev/main/media:           34MB/s
>  
>
This is not my experience.
What are the readahead settings?
I found significant variation in performance by varying the readahead at
raw, md and lvm device level

In my setup I get

component partitions, e.g. /dev/sda7: 39MB/s
raid device /dev/md2:                 31MB/s
lvm device /dev/main/media:           53MB/s

(oldish system - but note that lvm device is *much* faster)

For your entertainment you may like to try this to 'tune' your readahead
- it's OK to use so long as you're not recording:

(FYI I find that setting readahead to 0 on all devices and 4096 on the
lvm device gets me the best performance - which makes sense if you think
about it...)

#!/bin/bash
RAW_DEVS="/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/hdb"
MD_DEVS=/dev/md0
LV_DEVS=/dev/huge_vg/huge_lv

LV_RAS="0 128 256 1024 4096 8192"
MD_RAS="0 128 256 1024 4096 8192"
RAW_RAS="0 128 256 1024 4096 8192"

function show_ra()
{
for i in $RAW_DEVS $MD_DEVS $LV_DEVS
do echo -n "$i `blockdev --getra $i`  ::  "
done
echo
}

function set_ra()
{
 RA=$1
 shift
 for dev in $@
 do
   blockdev --setra $RA $dev
 done
}

function show_performance()
{
 COUNT=4000000
 dd if=$LV_DEVS of=/dev/null count=$COUNT 2>&1 | grep seconds
}

for RAW_RA in $RAW_RAS
 do
 set_ra $RAW_RA $RAW_DEVS
 for MD_RA in $MD_RAS
   do
   set_ra $MD_RA $MD_DEVS
   for LV_RA in $LV_RAS
     do
     set_ra $LV_RA $LV_DEVS
     show_ra
     show_performance
     done
   done
 done


  parent reply	other threads:[~2005-07-13 18:02 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-11 15:11 RAID-5 streaming read performance Dan Christensen
2005-07-13  2:08 ` Ming Zhang
2005-07-13  2:52   ` Dan Christensen
2005-07-13  3:15     ` berk walker
2005-07-13 12:24     ` Ming Zhang
2005-07-13 12:48       ` Dan Christensen
2005-07-13 12:52         ` Ming Zhang
2005-07-13 14:23           ` Dan Christensen
2005-07-13 14:29             ` Ming Zhang
2005-07-13 17:56               ` Dan Christensen
2005-07-13 22:38                 ` Neil Brown
2005-07-14  0:09                   ` Ming Zhang
2005-07-14  1:16                     ` Neil Brown
2005-07-14  1:25                       ` Ming Zhang
2005-07-13 18:02             ` David Greaves [this message]
2005-07-13 18:14               ` Ming Zhang
2005-07-13 21:18                 ` David Greaves
2005-07-13 21:44                   ` Ming Zhang
2005-07-13 21:50                     ` David Greaves
2005-07-13 21:55                       ` Ming Zhang
2005-07-13 22:52                   ` Neil Brown
2005-07-14  3:58               ` Dan Christensen
2005-07-14  4:13                 ` Mark Hahn
2005-07-14 21:16                   ` Dan Christensen
2005-07-14 21:30                     ` Ming Zhang
2005-07-14 23:29                       ` Mark Hahn
2005-07-15  1:23                         ` Ming Zhang
2005-07-15  2:11                           ` Dan Christensen
2005-07-15 12:28                             ` Ming Zhang
2005-07-14 12:30                 ` Ming Zhang
2005-07-14 14:23                   ` Ming Zhang
2005-07-14 17:54                   ` Dan Christensen
2005-07-14 18:00                     ` Ming Zhang
2005-07-14 18:03                       ` Dan Christensen
2005-07-14 18:10                         ` Ming Zhang
2005-07-14 19:16                           ` Dan Christensen
2005-07-14 20:13                             ` Ming Zhang
2005-07-15  2:38                 ` Dan Christensen
2005-07-15  6:01                   ` Holger Kiehl
2005-07-15 12:29                     ` Ming Zhang
2005-07-13 22:42         ` Neil Brown

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=42D5573A.6090801@dgreaves.com \
    --to=david@dgreaves.com \
    --cc=jdc@uwo.ca \
    --cc=linux-raid@vger.kernel.org \
    --cc=mingz@ele.uri.edu \
    /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).