xfs
[Top] [All Lists]

RE: Negligible improvement when using su/sw for hardware RAID5, expected

To: "Brian Davis" <bridavis@xxxxxxxxxxx>, "utz lehmann" <u.lehmann@xxxxxxxxxxxxxx>
Subject: RE: Negligible improvement when using su/sw for hardware RAID5, expected?
From: "Sebastian Brings" <sebas@xxxxxxxxxxxxxx>
Date: Mon, 14 Aug 2006 17:08:24 +0200
Cc: <xfs@xxxxxxxxxxx>
In-reply-to: <44E07AC6.6000104@comcast.net>
Sender: xfs-bounce@xxxxxxxxxxx
Thread-index: Aca/rllnheStVYHOR9yBQEMpY0h39wAAko4A
Thread-topic: Negligible improvement when using su/sw for hardware RAID5, expected?
Unfortunately, yes.
When you create a standard dos partition table on a disk, this takes
some space. This shifts the beginning of your sda1 partition away from
the very beginning of your harddisk by roughly 32k. When you now write
the first 64K to you Raid, the first 32k go to disk1 (your first 64K
stripe unit, which already holds the partition table), the next 32k go
to disk 2 (your second stripe unit, which now is half "full"). Now your
Raid controller needs to update the parity disk. It has half the data it
would need from disk1, and half the data it would need from disk 2. An
ugly situation.

When using hardware raids, you should treat them as one single disk when
calculating the sunit/swidth. Sunit matches the 2x64K = 128K of your
Raid5, swidth then is 128K by <number of raids in the stripe>. Together
with a proper alignement as Utz mentioned, this allows the system to
write a complete stripe at once, and hopefully makes it easier for the
raidcontroller to calculate parity.




> -----Original Message-----
> From: xfs-bounce@xxxxxxxxxxx [mailto:xfs-bounce@xxxxxxxxxxx] On Behalf
Of
> Brian Davis
> Sent: Montag, 14. August 2006 15:30
> To: utz lehmann
> Cc: xfs@xxxxxxxxxxx
> Subject: Re: Negligible improvement when using su/sw for hardware
RAID5,
> expected?
> 
> I'll admit to being ignorant here....all I did was created the Linux
> partition with fdisk and then created the fs on top of that.  Was
there
> something else that needed to be done?
> 
> Thanks,
> Brian
> 
> utz lehmann wrote:
> > Hi
> >
> > You are using a partition. Is it correctly aligned? Usually the
first
> > partition starts at sector 63. Which is in the middle of your
stripe.
> > Use the whole disk (/dev/sda) or align the start of the partition to
a
> > multiple of the stripe size.
> > But i doubt you will see a performance improvement with such a
simple
> > test (single threaded sequential read/ write).
> >
> >
> > utz
> >
> > On Fri, 2006-08-11 at 23:10 -0400, Brian Davis wrote:
> >
> >> Is this expected? I thought I would see more improvement when
tweaking
> >> my su/sw values for hardware RAID 5.
> >>
> >> Details, 3x300GB drives, 3Ware 7506-4LP Hardware RAID 5 using a 64K
> >> stripe size (non-configurable on this card).
> >>
> >> FS creation and Bonnie++ results:
> >>
> >>
Untweaked:-------------------------------------------------------------
> ---------
> >>
> >>
> >> localhost / # mkfs.xfs -f /dev/sda1
> >> meta-data=/dev/sda1              isize=256    agcount=32,
> agsize=4578999
> >> blks
> >>         =                       sectsz=512   attr=0
> >> data     =                       bsize=4096   blocks=146527968,
> imaxpct=25
> >>         =                       sunit=0      swidth=0 blks,
unwritten=1
> >> naming   =version 2              bsize=4096
> >> log      =internal log           bsize=4096   blocks=32768,
version=1
> >>         =                       sectsz=512   sunit=0 blks
> >> realtime =none                   extsz=65536  blocks=0, rtextents=0
> >> localhost / # mount -t xfs /dev/sda1 /raid
> >> localhost / # cd /raid
> >> localhost raid # bonnie++ -n0 -u0 -r 768 -s 30720 -b -f
> >> Using uid:0, gid:0.
> >> Writing intelligently...done
> >> Rewriting...done
> >> Reading intelligently...done
> >> start 'em...done...done...done...done...done...
> >> Version 1.93c       ------Sequential Output------ --Sequential
Input-
> >> --Random-
> >> Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr-
--Block--
> >> --Seeks--
> >> Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec
%CP
> >> /sec %CP
> >> localhost       30G           27722  40 23847  37           98367
99
> >> 88.6  11
> >> Latency                         891ms     693ms             16968us
> >> 334ms
> >>
> >>
Tweaked:---------------------------------------------------------------
> ----------
> >>
> >>
> >> localhost / # mkfs.xfs -f -d sw=2,su=64k /dev/sda1
> >> meta-data=/dev/sda1              isize=256    agcount=32,
> agsize=4578992
> >> blks
> >>         =                       sectsz=512   attr=0
> >> data     =                       bsize=4096   blocks=146527744,
> imaxpct=25
> >>         =                       sunit=16     swidth=32 blks,
> unwritten=1
> >> naming   =version 2              bsize=4096
> >> log      =internal log           bsize=4096   blocks=32768,
version=1
> >>         =                       sectsz=512   sunit=0 blks
> >> realtime =none                   extsz=65536  blocks=0, rtextents=0
> >> localhost / # mount -t xfs /dev/sda1 /raid
> >> localhost / # cd /raid
> >> localhost raid # bonnie++ -n0 -u0 -r 768 -s 30720 -b -f
> >> Using uid:0, gid:0.
> >> Writing intelligently...done
> >> Rewriting...done
> >> Reading intelligently...done
> >> start 'em...done...done...done...done...done...
> >> Version 1.93c       ------Sequential Output------ --Sequential
Input-
> >> --Random-
> >> Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr-
--Block--
> >> --Seeks--
> >> Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec
%CP
> >> /sec %CP
> >> localhost       30G           27938  43 23880  40           98066
99
> >> 91.8   9
> >> Latency                         772ms     584ms             19889us
> >> 340ms
> >>
> >>
> 



<Prev in Thread] Current Thread [Next in Thread>