* Raid6 write performance
@ 2009-01-19 7:40 Peter Rabbitson
2009-01-19 8:10 ` thomas62186218
` (2 more replies)
0 siblings, 3 replies; 15+ messages in thread
From: Peter Rabbitson @ 2009-01-19 7:40 UTC (permalink / raw)
To: linux-raid
Hi,
I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
having is that no matter what chunk size I use, the write benchmark
always comes out at single drive speed, although I should be seeing
double drive speed (read speed is at near 4x as expected). Is there some
hidden setting that I am overlooking, or is this a current known
limitation of raid6? In contrast if I make a raid5 on these 4 drives, I
get the expected 3xdrive write speed, and occasionally 4xdrive linear
read speed.
When the write test is running, I get about 14% of system cpu a sporadic
40% of iowait and the rest idle at all times (machine is in runlevel 1
so not to screw with results). Anyone has any ideas?
Thank you.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 7:40 Raid6 write performance Peter Rabbitson
@ 2009-01-19 8:10 ` thomas62186218
2009-01-19 9:07 ` NiftyFedora Mitch
2009-01-19 12:48 ` Keld Jørn Simonsen
2009-01-19 10:37 ` Peter Rabbitson
2009-02-28 1:04 ` H. Peter Anvin
2 siblings, 2 replies; 15+ messages in thread
From: thomas62186218 @ 2009-01-19 8:10 UTC (permalink / raw)
To: rabbit+list, linux-raid
I tested RAID 5 and RAID 6 with 12 x 15K SAS drives on Ubuntu 8.04
64-bit and found their performance to be about the same. I used 256 K
chunk size, v1.0 superblocks, stripecachesize of 16384, and readahead
of 65536.
RAID 5 reads: 774 MB/sec
RAID 5 writes: 585 MB/sec
RAID 6 reads: 742 MB/sec
RAID 6 writes: 559 MB/sec
My CPU utilization remains under 10% though during writes, and I'm
wondering what can be done to get write performance closer to read
performance. I have dual quad-core CPUs so there's plenty of CPU to go
around. Any ideas on that front?
-Thomas
-----Original Message-----
From: Peter Rabbitson <rabbit+list@rabbit.us>
To: linux-raid@vger.kernel.org
Sent: Sun, 18 Jan 2009 11:40 pm
Subject: Raid6 write performance
Hi,
I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
having is that no matter what chunk size I use, the write benchmark
always comes out at single drive speed, although I should be seeing
double drive speed (read speed is at near 4x as expected). Is there some
hidden setting that I am overlooking, or is this a current known
limitation of raid6? In contrast if I make a raid5 on these 4 drives, I
get the expected 3xdrive write speed, and occasionally 4xdrive linear
read speed.
When the write test is running, I get about 14% of system cpu a sporadic
40% of iowait and the rest idle at all times (machine is in runlevel 1
so not to screw with results). Anyone has any ideas?
Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 8:10 ` thomas62186218
@ 2009-01-19 9:07 ` NiftyFedora Mitch
2009-01-26 18:47 ` Bill Davidsen
2009-01-19 12:48 ` Keld Jørn Simonsen
1 sibling, 1 reply; 15+ messages in thread
From: NiftyFedora Mitch @ 2009-01-19 9:07 UTC (permalink / raw)
To: thomas62186218; +Cc: rabbit+list, linux-raid
On Mon, Jan 19, 2009 at 12:10 AM, <thomas62186218@aol.com> wrote:
>
> I tested RAID 5 and RAID 6 with 12 x 15K SAS drives on Ubuntu 8.04 64-bit
> and found their performance to be about the same. I used 256 K chunk size,
> v1.0 superblocks, stripecachesize of 16384, and readahead of 65536.
>
> RAID 5 reads: 774 MB/sec
> RAID 5 writes: 585 MB/sec
>
> RAID 6 reads: 742 MB/sec
> RAID 6 writes: 559 MB/sec
>
> My CPU utilization remains under 10% though during writes, and I'm wondering
> what can be done to get write performance closer to read performance. I have
> dual quad-core CPUs so there's plenty of CPU to go around. Any ideas on that
> front?
>
> -Thomas
>
>
> -----Original Message-----
> From: Peter Rabbitson <rabbit+list@rabbit.us>
> To: linux-raid@vger.kernel.org
> Sent: Sun, 18 Jan 2009 11:40 pm
> Subject: Raid6 write performance
> Hi,
>
> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
> having is that no matter what chunk size I use, the write benchmark
> always comes out at single drive speed, although I should be seeing
> double drive speed (read speed is at near 4x as expected). Is there some
> hidden setting that I am overlooking, or is this a current known
> limitation of raid6? In contrast if I make a raid5 on these 4 drives, I
> get the expected 3xdrive write speed, and occasionally 4xdrive linear
> read speed.
>
> When the write test is running, I get about 14% of system cpu a sporadic
> 40% of iowait and the rest idle at all times (machine is in runlevel 1
> so not to screw with results). Anyone has any ideas?
Read bandwidth will always be quicker than writes with parity.
Data and parity both need to be written in an atomic way so the completion
will be gated by the last write to be "posted as done" back to the
system.
It can pay to locate the journal on a physically different, smaller
and faster resource.
One informative experiment might be to mount the file system as ext2 and compare
and contrast with the same FS mounted as ext3. I am not recommending ext2
over ext3 other than as an experiment to see what the impact of the
journal activity is...
--
NiftyFedora
T o m M i t c h e l l
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 7:40 Raid6 write performance Peter Rabbitson
2009-01-19 8:10 ` thomas62186218
@ 2009-01-19 10:37 ` Peter Rabbitson
2009-01-19 10:58 ` Bernd Schubert
2009-02-28 1:04 ` H. Peter Anvin
2 siblings, 1 reply; 15+ messages in thread
From: Peter Rabbitson @ 2009-01-19 10:37 UTC (permalink / raw)
To: linux-raid
Peter Rabbitson wrote:
> Hi,
>
> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
> having is that no matter what chunk size I use, the write benchmark
> always comes out at single drive speed, although I should be seeing
> double drive speed (read speed is at near 4x as expected).
Please disregard this, I appear to be having some sort of weird hardware
congestion. Can someone explain what could be going on?
Standalone read speed:
--------------------------------
root@Arzamas:~# for i in b c d e ; do dd if=/dev/sd${i}2 of=/dev/null
bs=32M count=32 ; done
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.4133 s, 103 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.4781 s, 102 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.4317 s, 103 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.1242 s, 106 MB/s
root@Arzamas:~#
Combined read speed - limited by the width of a 32bit 66mhz PCI (dev
02:04.0 below)
--------------------------------
root@Arzamas:~# for i in b c d e ; do dd if=/dev/sd${i}2 of=/dev/null
bs=32M count=32 & done
[1] 19491
[2] 19492
[3] 19493
[4] 19494
root@Arzamas:~# 32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 17.8422 s, 60.2 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 18.2496 s, 58.8 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 18.5542 s, 57.9 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 19.0774 s, 56.3 MB/s
Standalone write:
-------------------------------
root@Arzamas:~# for i in b c d e ; do dd if=/dev/zero of=/dev/sd${i}2
bs=32M count=32 ; done
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.7629 s, 99.8 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.753 s, 99.9 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 12.1836 s, 88.1 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 10.2433 s, 105 MB/s
root@Arzamas:~#
Combined write - half of the read speed???:
-------------------------------
root@Arzamas:~# for i in b c d e ; do dd if=/dev/zero of=/dev/sd${i}2
bs=32M count=32 & done
[1] 19506
[2] 19507
[3] 19508
[4] 19509
root@Arzamas:~# 32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 40.1631 s, 26.7 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 40.2603 s, 26.7 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 40.2862 s, 26.7 MB/s
32+0 records in
32+0 records out
1073741824 bytes (1.1 GB) copied, 40.3178 s, 26.6 MB/s
Hardware:
---------------------------
root@Arzamas:~# lspci
00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller
Hub (rev 02)
00:03.0 PCI bridge: Intel Corporation 82875P/E7210 Processor to PCI to
CSA Bridge (rev 02)
00:06.0 System peripheral: Intel Corporation 82875P/E7210 Processor to
I/O Memory Interface (rev 02)
00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02)
00:1d.0 USB Controller: Intel Corporation 6300ESB USB Universal Host
Controller (rev 02)
00:1d.1 USB Controller: Intel Corporation 6300ESB USB Universal Host
Controller (rev 02)
00:1d.4 System peripheral: Intel Corporation 6300ESB Watchdog Timer (rev 02)
00:1d.5 PIC: Intel Corporation 6300ESB I/O Advanced Programmable
Interrupt Controller (rev 02)
00:1d.7 USB Controller: Intel Corporation 6300ESB USB2 Enhanced Host
Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a)
00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller
(rev 02)
00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller
(rev 02)
00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)
01:01.0 Ethernet controller: Intel Corporation 82547GI Gigabit Ethernet
Controller
02:01.0 SCSI storage controller: Adaptec AIC-7901 U320 (rev 10)
02:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701
Gigabit Ethernet (rev 15)
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X
Serial ATA Controller (rev 02)
02:04.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
Controller (rev 05)
03:00.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
03:01.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet
Pro 100 (rev 10)
03:02.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado]
(rev 78)
root@Arzamas:~#
root@Arzamas:~# lspci -v -s 02:
02:01.0 SCSI storage controller: Adaptec AIC-7901 U320 (rev 10)
Subsystem: Intel Corporation Device 342f
Flags: bus master, 66MHz, slow devsel, latency 64, IRQ 27
I/O ports at b800 [disabled] [size=256]
Memory at fc5fe000 (64-bit, non-prefetchable) [size=8K]
I/O ports at b400 [disabled] [size=256]
Expansion ROM at fc500000 [disabled] [size=512K]
Capabilities: [dc] Power Management version 2
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1
Enable-
Capabilities: [94] PCI-X non-bridge device
Kernel driver in use: aic79xx
02:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701
Gigabit Ethernet (rev 15)
Subsystem: Compaq Computer Corporation NC7770 Gigabit Server Adapter
(PCI-X, 10/100/1000-T)
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 24
Memory at fc5e0000 (64-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at fc5d0000 [disabled] [size=64K]
Capabilities: [40] PCI-X non-bridge device
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data <?>
Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3
Enable-
Kernel driver in use: tg3
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X
Serial ATA Controller (rev 02) <----- where the 4 drives are attached to
Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 25
Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
I/O ports at bc00 [size=16]
Expansion ROM at fc480000 [disabled] [size=512K]
Capabilities: [64] Power Management version 2
Capabilities: [40] PCI-X non-bridge device
Capabilities: [54] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0
Enable-
Kernel driver in use: sata_sil24
02:04.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
Controller (rev 05)
Subsystem: Intel Corporation PRO/1000 GT Desktop Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 26
Memory at fc5a0000 (32-bit, non-prefetchable) [size=128K]
Memory at fc580000 (32-bit, non-prefetchable) [size=128K]
I/O ports at b000 [size=64]
Expansion ROM at fc460000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Kernel driver in use: e1000
root@Arzamas:~#
root@Arzamas:~# cat /proc/interrupts
CPU0 CPU1
0: 127 0 IO-APIC-edge timer
1: 8 0 IO-APIC-edge i8042
6: 3 0 IO-APIC-edge floppy
8: 2 0 IO-APIC-edge rtc
10: 0 0 IO-APIC-fasteoi acpi
12: 105 0 IO-APIC-edge i8042
14: 100 0 IO-APIC-edge ata_piix
15: 0 0 IO-APIC-edge ata_piix
16: 245660 0 IO-APIC-fasteoi uhci_hcd:usb2, wan_a
17: 5967 0 IO-APIC-fasteoi lan_untr
18: 92684 0 IO-APIC-fasteoi lan_main
19: 0 0 IO-APIC-fasteoi uhci_hcd:usb3
23: 2 0 IO-APIC-fasteoi ehci_hcd:usb1
24: 73850 0 IO-APIC-fasteoi wan_b
25: 1032325 0 IO-APIC-fasteoi sata_sil24
26: 5494 0 IO-APIC-fasteoi lan_srv
27: 22 0 IO-APIC-fasteoi aic79xx
NMI: 0 0 Non-maskable interrupts
LOC: 1383148 1381673 Local timer interrupts
RES: 52448 46803 Rescheduling interrupts
CAL: 2552 1883 function call interrupts
TLB: 8035 16978 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0
root@Arzamas:~#
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 10:37 ` Peter Rabbitson
@ 2009-01-19 10:58 ` Bernd Schubert
2009-01-19 11:01 ` Peter Rabbitson
0 siblings, 1 reply; 15+ messages in thread
From: Bernd Schubert @ 2009-01-19 10:58 UTC (permalink / raw)
To: Peter Rabbitson; +Cc: linux-raid
Hello Peter,
On Monday 19 January 2009 11:37:11 Peter Rabbitson wrote:
> Peter Rabbitson wrote:
> > Hi,
> >
> > I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
> > having is that no matter what chunk size I use, the write benchmark
> > always comes out at single drive speed, although I should be seeing
> > double drive speed (read speed is at near 4x as expected).
>
> Please disregard this, I appear to be having some sort of weird hardware
> congestion. Can someone explain what could be going on?
I don't know what it is going on, but:
> Combined read speed - limited by the width of a 32bit 66mhz PCI (dev
> 02:04.0 below)
No! You you do have PCI-X, so 64bit with 66MHz. Maybe you are even luckily and
it is as 133MHz, depends on how many other devices are connected to this bus.
lspci will always say it is running at 66MHz, though, it also might run at
100 or 133 MHz,
>
> 02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X
> Serial ATA Controller (rev 02) <----- where the 4 drives are attached to
> Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
> Flags: bus master, stepping, 66MHz, medium devsel, latency 64, IRQ 25
> Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
> Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
> I/O ports at bc00 [size=16]
> Expansion ROM at fc480000 [disabled] [size=512K]
> Capabilities: [64] Power Management version 2
> Capabilities: [40] PCI-X non-bridge device
> Capabilities: [54] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0
Cheers,
Bernd
--
Bernd Schubert
Q-Leap Networks GmbH
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 10:58 ` Bernd Schubert
@ 2009-01-19 11:01 ` Peter Rabbitson
2009-01-19 11:08 ` Bernd Schubert
0 siblings, 1 reply; 15+ messages in thread
From: Peter Rabbitson @ 2009-01-19 11:01 UTC (permalink / raw)
To: Bernd Schubert; +Cc: linux-raid
Bernd Schubert wrote:
> Hello Peter,
>
> On Monday 19 January 2009 11:37:11 Peter Rabbitson wrote:
>> Peter Rabbitson wrote:
>>> Hi,
>>>
>>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
>>> having is that no matter what chunk size I use, the write benchmark
>>> always comes out at single drive speed, although I should be seeing
>>> double drive speed (read speed is at near 4x as expected).
>> Please disregard this, I appear to be having some sort of weird hardware
>> congestion. Can someone explain what could be going on?
>
> I don't know what it is going on, but:
>
>
>> Combined read speed - limited by the width of a 32bit 66mhz PCI (dev
>> 02:04.0 below)
>
> No! You you do have PCI-X, so 64bit with 66MHz. Maybe you are even luckily and
> it is as 133MHz, depends on how many other devices are connected to this bus.
> lspci will always say it is running at 66MHz, though, it also might run at
> 100 or 133 MHz,
>
And on the same bus (the last lspci) I have:
02:04.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
Controller (rev 05)
Subsystem: Intel Corporation PRO/1000 GT Desktop Adapter
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 26
Memory at fc5a0000 (32-bit, non-prefetchable) [size=128K]
Memory at fc580000 (32-bit, non-prefetchable) [size=128K]
I/O ports at b000 [size=64]
Expansion ROM at fc460000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Capabilities: [e4] PCI-X non-bridge device
Kernel driver in use: e1000
which afaik brings everything to 32bits no?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 11:01 ` Peter Rabbitson
@ 2009-01-19 11:08 ` Bernd Schubert
0 siblings, 0 replies; 15+ messages in thread
From: Bernd Schubert @ 2009-01-19 11:08 UTC (permalink / raw)
To: Peter Rabbitson; +Cc: linux-raid
On Monday 19 January 2009 12:01:37 Peter Rabbitson wrote:
> Bernd Schubert wrote:
> > Hello Peter,
> >
> > On Monday 19 January 2009 11:37:11 Peter Rabbitson wrote:
> >> Peter Rabbitson wrote:
> >>> Hi,
> >>>
> >>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I
> >>> am having is that no matter what chunk size I use, the write benchmark
> >>> always comes out at single drive speed, although I should be seeing
> >>> double drive speed (read speed is at near 4x as expected).
> >>
> >> Please disregard this, I appear to be having some sort of weird hardware
> >> congestion. Can someone explain what could be going on?
> >
> > I don't know what it is going on, but:
> >> Combined read speed - limited by the width of a 32bit 66mhz PCI (dev
> >> 02:04.0 below)
> >
> > No! You you do have PCI-X, so 64bit with 66MHz. Maybe you are even
> > luckily and it is as 133MHz, depends on how many other devices are
> > connected to this bus. lspci will always say it is running at 66MHz,
> > though, it also might run at 100 or 133 MHz,
>
> And on the same bus (the last lspci) I have:
>
> 02:04.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet
> Controller (rev 05)
> Subsystem: Intel Corporation PRO/1000 GT Desktop Adapter
> Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 26
> Memory at fc5a0000 (32-bit, non-prefetchable) [size=128K]
> Memory at fc580000 (32-bit, non-prefetchable) [size=128K]
> I/O ports at b000 [size=64]
> Expansion ROM at fc460000 [disabled] [size=128K]
> Capabilities: [dc] Power Management version 2
> Capabilities: [e4] PCI-X non-bridge device
> Kernel driver in use: e1000
>
> which afaik brings everything to 32bits no?
Hmm, I don't know what happens if a 32-bit card is in a 64bit PCI-X bus.
Wouldn't it only use half of the available lines for this card and all lines
for the 64bit cards? Hmm, on the other hand your maximum combined rate seems
to be at around 240 MB/s, which is close to 32bit x 66 MHz.Any chance you can
remove this NIC and retest?
Cheers,
Bernd
--
Bernd Schubert
Q-Leap Networks GmbH
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 8:10 ` thomas62186218
2009-01-19 9:07 ` NiftyFedora Mitch
@ 2009-01-19 12:48 ` Keld Jørn Simonsen
2009-01-19 12:50 ` Peter Rabbitson
1 sibling, 1 reply; 15+ messages in thread
From: Keld Jørn Simonsen @ 2009-01-19 12:48 UTC (permalink / raw)
To: thomas62186218; +Cc: rabbit+list, linux-raid
On Mon, Jan 19, 2009 at 03:10:01AM -0500, thomas62186218@aol.com wrote:
>
> I tested RAID 5 and RAID 6 with 12 x 15K SAS drives on Ubuntu 8.04
> 64-bit and found their performance to be about the same. I used 256 K
> chunk size, v1.0 superblocks, stripecachesize of 16384, and readahead
> of 65536.
>
> RAID 5 reads: 774 MB/sec
> RAID 5 writes: 585 MB/sec
>
> RAID 6 reads: 742 MB/sec
> RAID 6 writes: 559 MB/sec
>
> My CPU utilization remains under 10% though during writes, and I'm
> wondering what can be done to get write performance closer to read
> performance. I have dual quad-core CPUs so there's plenty of CPU to go
> around. Any ideas on that front?
Seems like it is the same equipment that you also did the raid10,f2
tests for. I think it would be interesting to have a consolidated list
of performance comparisons, when you have completed your tweakings.
Is that part of your plan?
best regards
keld
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 12:48 ` Keld Jørn Simonsen
@ 2009-01-19 12:50 ` Peter Rabbitson
0 siblings, 0 replies; 15+ messages in thread
From: Peter Rabbitson @ 2009-01-19 12:50 UTC (permalink / raw)
To: Keld Jørn Simonsen; +Cc: thomas62186218, linux-raid
Keld Jørn Simonsen wrote:
> On Mon, Jan 19, 2009 at 03:10:01AM -0500, thomas62186218@aol.com wrote:
>> I tested RAID 5 and RAID 6 with 12 x 15K SAS drives on Ubuntu 8.04
>> 64-bit and found their performance to be about the same. I used 256 K
>> chunk size, v1.0 superblocks, stripecachesize of 16384, and readahead
>> of 65536.
>>
>> RAID 5 reads: 774 MB/sec
>> RAID 5 writes: 585 MB/sec
>>
>> RAID 6 reads: 742 MB/sec
>> RAID 6 writes: 559 MB/sec
>>
>> My CPU utilization remains under 10% though during writes, and I'm
>> wondering what can be done to get write performance closer to read
>> performance. I have dual quad-core CPUs so there's plenty of CPU to go
>> around. Any ideas on that front?
>
> Seems like it is the same equipment that you also did the raid10,f2
> tests for. I think it would be interesting to have a consolidated list
> of performance comparisons, when you have completed your tweakings.
> Is that part of your plan?
>
> best regards
> keld
Not on this machine, but yes, I am planning to do something like this on
my workstation. I need to get my drives/arrays in order first (got
bitten by the 7200.11 fiasco).
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 9:07 ` NiftyFedora Mitch
@ 2009-01-26 18:47 ` Bill Davidsen
0 siblings, 0 replies; 15+ messages in thread
From: Bill Davidsen @ 2009-01-26 18:47 UTC (permalink / raw)
To: NiftyFedora Mitch; +Cc: thomas62186218, rabbit+list, linux-raid
NiftyFedora Mitch wrote:
> On Mon, Jan 19, 2009 at 12:10 AM, <thomas62186218@aol.com> wrote:
>
>> I tested RAID 5 and RAID 6 with 12 x 15K SAS drives on Ubuntu 8.04 64-bit
>> and found their performance to be about the same. I used 256 K chunk size,
>> v1.0 superblocks, stripecachesize of 16384, and readahead of 65536.
>>
>> RAID 5 reads: 774 MB/sec
>> RAID 5 writes: 585 MB/sec
>>
>> RAID 6 reads: 742 MB/sec
>> RAID 6 writes: 559 MB/sec
>>
>> My CPU utilization remains under 10% though during writes, and I'm wondering
>> what can be done to get write performance closer to read performance. I have
>> dual quad-core CPUs so there's plenty of CPU to go around. Any ideas on that
>> front?
>>
>> -Thomas
>>
>>
>> -----Original Message-----
>> From: Peter Rabbitson <rabbit+list@rabbit.us>
>> To: linux-raid@vger.kernel.org
>> Sent: Sun, 18 Jan 2009 11:40 pm
>> Subject: Raid6 write performance
>>
>
>
>> Hi,
>>
>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
>> having is that no matter what chunk size I use, the write benchmark
>> always comes out at single drive speed, although I should be seeing
>> double drive speed (read speed is at near 4x as expected). Is there some
>> hidden setting that I am overlooking, or is this a current known
>> limitation of raid6? In contrast if I make a raid5 on these 4 drives, I
>> get the expected 3xdrive write speed, and occasionally 4xdrive linear
>> read speed.
>>
>> When the write test is running, I get about 14% of system cpu a sporadic
>> 40% of iowait and the rest idle at all times (machine is in runlevel 1
>> so not to screw with results). Anyone has any ideas?
>>
>
> Read bandwidth will always be quicker than writes with parity.
> Data and parity both need to be written in an atomic way so the completion
> will be gated by the last write to be "posted as done" back to the
> system.
>
> It can pay to locate the journal on a physically different, smaller
> and faster resource.
> One informative experiment might be to mount the file system as ext2 and compare
> and contrast with the same FS mounted as ext3. I am not recommending ext2
> over ext3 other than as an experiment to see what the impact of the
> journal activity is...
>
>
Also see noatime, relatime, etc.
--
Bill Davidsen <davidsen@tmr.com>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-01-19 7:40 Raid6 write performance Peter Rabbitson
2009-01-19 8:10 ` thomas62186218
2009-01-19 10:37 ` Peter Rabbitson
@ 2009-02-28 1:04 ` H. Peter Anvin
2009-03-01 19:12 ` Michał Przyłuski
2009-03-01 19:19 ` Peter Rabbitson
2 siblings, 2 replies; 15+ messages in thread
From: H. Peter Anvin @ 2009-02-28 1:04 UTC (permalink / raw)
To: Peter Rabbitson; +Cc: linux-raid
Peter Rabbitson wrote:
> Hi,
>
> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
> having is that no matter what chunk size I use, the write benchmark
> always comes out at single drive speed, although I should be seeing
> double drive speed (read speed is at near 4x as expected).
I have no idea why you "should" be seeing double drive speed. All
drives have to be written, so you'd logically see single drive speed.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-02-28 1:04 ` H. Peter Anvin
@ 2009-03-01 19:12 ` Michał Przyłuski
2009-03-01 20:35 ` H. Peter Anvin
2009-03-01 19:19 ` Peter Rabbitson
1 sibling, 1 reply; 15+ messages in thread
From: Michał Przyłuski @ 2009-03-01 19:12 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: Peter Rabbitson, linux-raid
Hello,
2009/2/28 H. Peter Anvin <hpa@zytor.com>:
> Peter Rabbitson wrote:
>> Hi,
>>
>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
>> having is that no matter what chunk size I use, the write benchmark
>> always comes out at single drive speed, although I should be seeing
>> double drive speed (read speed is at near 4x as expected).
>
> I have no idea why you "should" be seeing double drive speed. All
> drives have to be written, so you'd logically see single drive speed.
I'm afraid that might be incorrect.
Let's assume we want to write 100MB of data onto a 4 drive raid6.
Let's divide 100MB of data into two parts, say A and B, each 50MB big.
Writing the data on the raid, would mean writing:
* A on disk1
* B on disk2
* XOR(A,B) on disk3
* Q(A,B) on disk4
That is actually assuming 50MB chunk, and whole chunk writes, etc.
Each of written portions would have been 50MB in size. That sounds
reasonable to me, as with 2 data disks, only half of data has to be
written on each. The fact that disks are really striped with data, XOR
and Q doesn't change the image in terms of amount written.
I do hope I had understood the situation correctly, but I'll be ever
happy to be proved wrong.
Kind regards,
Mike
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-02-28 1:04 ` H. Peter Anvin
2009-03-01 19:12 ` Michał Przyłuski
@ 2009-03-01 19:19 ` Peter Rabbitson
2009-03-13 17:11 ` Bill Davidsen
1 sibling, 1 reply; 15+ messages in thread
From: Peter Rabbitson @ 2009-03-01 19:19 UTC (permalink / raw)
To: H. Peter Anvin; +Cc: linux-raid
H. Peter Anvin wrote:
> Peter Rabbitson wrote:
>> Hi,
>>
>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
>> having is that no matter what chunk size I use, the write benchmark
>> always comes out at single drive speed, although I should be seeing
>> double drive speed (read speed is at near 4x as expected).
>
> I have no idea why you "should" be seeing double drive speed. All
> drives have to be written, so you'd logically see single drive speed.
>
Because with properly adjusted elevators and chunk sizes it is reasonable
to expect N * S write speed from _any_ raid, where N is the number of
different data bearing disks in a stripe, and S is the speed of a hard
drive (assuming the drive speeds are equal). So for raid5 we have N =
numdisks-1, for raid6 numdisks-2, for raid10 -n4 -pf3 we get 4-(3-1) and
so on. I have personally verified the write behavior for raid10 and raid5,
don't see why it should/would be different for raid6.
In any case the witnessed problem was due to a hardware misconfiguration,
which has not been resolved to this day. Thus thread is dead :)
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-03-01 19:12 ` Michał Przyłuski
@ 2009-03-01 20:35 ` H. Peter Anvin
0 siblings, 0 replies; 15+ messages in thread
From: H. Peter Anvin @ 2009-03-01 20:35 UTC (permalink / raw)
To: Michał Przyłuski; +Cc: Peter Rabbitson, linux-raid
Michał Przyłuski wrote:
>
> I'm afraid that might be incorrect.
>
> Let's assume we want to write 100MB of data onto a 4 drive raid6.
> Let's divide 100MB of data into two parts, say A and B, each 50MB big.
> Writing the data on the raid, would mean writing:
> * A on disk1
> * B on disk2
> * XOR(A,B) on disk3
> * Q(A,B) on disk4
> That is actually assuming 50MB chunk, and whole chunk writes, etc.
> Each of written portions would have been 50MB in size. That sounds
> reasonable to me, as with 2 data disks, only half of data has to be
> written on each. The fact that disks are really striped with data, XOR
> and Q doesn't change the image in terms of amount written.
>
> I do hope I had understood the situation correctly, but I'll be ever
> happy to be proved wrong.
>
Ah, sorry, yes you're of course right. I was thinking about latency,
not throughput, for some idiotic reason.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Raid6 write performance
2009-03-01 19:19 ` Peter Rabbitson
@ 2009-03-13 17:11 ` Bill Davidsen
0 siblings, 0 replies; 15+ messages in thread
From: Bill Davidsen @ 2009-03-13 17:11 UTC (permalink / raw)
To: Peter Rabbitson; +Cc: H. Peter Anvin, linux-raid
Peter Rabbitson wrote:
> H. Peter Anvin wrote:
>
>> Peter Rabbitson wrote:
>>
>>> Hi,
>>>
>>> I am experimenting with raid6 on 4 drives on 2.6.27.11. The problem I am
>>> having is that no matter what chunk size I use, the write benchmark
>>> always comes out at single drive speed, although I should be seeing
>>> double drive speed (read speed is at near 4x as expected).
>>>
>> I have no idea why you "should" be seeing double drive speed. All
>> drives have to be written, so you'd logically see single drive speed.
>>
>>
>
> Because with properly adjusted elevators and chunk sizes it is reasonable
> to expect N * S write speed from _any_ raid, where N is the number of
> different data bearing disks in a stripe, and S is the speed of a hard
> drive (assuming the drive speeds are equal). So for raid5 we have N =
> numdisks-1, for raid6 numdisks-2, for raid10 -n4 -pf3 we get 4-(3-1) and
> so on. I have personally verified the write behavior for raid10 and raid5,
> don't see why it should/would be different for raid6.
>
That's a lovely theory, but in practice I have to say I have never
measured any such thing, using benchmarks intended to match real world,
or even heavy disk writes of a dumb nature like dd. I have tested
through the raw device, and through filesystems, tuned stripe-cache-size
and buffers, tried setting "stride" in ext3, all to conclude that with
raid5 I see essentially write speed of 1x a single drive and read speed
of (N-1)x as you suggest. Actually, looking at results for arrays with
more drives I can see a trend to write at (N/3)x speed, being a
seek-write for full chunk data and seef-read-write for XOR. But even on
six drive arrays I don't get near (N-1)x in measurable.
--
Bill Davidsen <davidsen@tmr.com>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2009-03-13 17:11 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-19 7:40 Raid6 write performance Peter Rabbitson
2009-01-19 8:10 ` thomas62186218
2009-01-19 9:07 ` NiftyFedora Mitch
2009-01-26 18:47 ` Bill Davidsen
2009-01-19 12:48 ` Keld Jørn Simonsen
2009-01-19 12:50 ` Peter Rabbitson
2009-01-19 10:37 ` Peter Rabbitson
2009-01-19 10:58 ` Bernd Schubert
2009-01-19 11:01 ` Peter Rabbitson
2009-01-19 11:08 ` Bernd Schubert
2009-02-28 1:04 ` H. Peter Anvin
2009-03-01 19:12 ` Michał Przyłuski
2009-03-01 20:35 ` H. Peter Anvin
2009-03-01 19:19 ` Peter Rabbitson
2009-03-13 17:11 ` Bill Davidsen
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.