Re: MegaRAID SCSI 320-2 bad write performance

2006-08-23 Thread Greg Thomas

For comparison with the SATA 150-6:

[EMAIL PROTECTED]:/home/ethant# bioctl -i ami0
Volume  Status Size   Device
ami0 0 Online   107374182400 sd0 RAID1
 0 Online   160036814848 0:0.0   noencl ST3160811AS 3.AA
 1 Online   160036814848 0:1.0   noencl ST3160811AS 3.AA
ami0 1 Online42949672960 sd1 RAID1
 0 Online   160036814848 0:0.0   noencl ST3160811AS 3.AA
 1 Online   160036814848 0:1.0   noencl ST3160811AS 3.AA
ami0 2 Online 9712959488 sd2 RAID1
 0 Online   160036814848 0:0.0   noencl ST3160811AS 3.AA
 1 Online   160036814848 0:1.0   noencl ST3160811AS 3.AA
ami0 3 Hot spare160036814848 0:2.0   noencl ST3160811AS 3.AA

[EMAIL PROTECTED]:/home/ethant# dd if=/dev/zero of=/dev/rsd1c bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes transferred in 6.441 secs (41674946 bytes/sec)

OpenBSD 4.0-beta (GENERIC) #1083: Mon Aug 21 21:24:02 MDT 2006
   [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Athlon(tm) XP 1800+ (AuthenticAMD 686-class, 256KB L2 cache)
   1.54 GHz
cpu0:FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,
   CMOV,PAT,PSE36,MMX,FXSR,SSE
real mem  = 267939840 (261660K)
avail mem = 236683264 (231136K)


On 8/22/06, Marco Peereboom [EMAIL PROTECTED] wrote:

Due to the battery missing every IO the host sends has to complete before the
next one goes down.  So the sequence of events is:
1. Send host io through driver
2. Firmware accepts it
3. Firmware creates 1 or more IOs and shoots those off to the disk
4. Firmware waits until IOs complete
5. Firmware raises interrupt to inform host that IO completed
6. ami(4) driver now completes the IO on the host
7. goto 1

Also if you want to test read/write performance you have to use the raw device.
A dd test should use for example /dev/rsd0c instead of a file.

Why don't you have a battery for that thing?

On a separate note; i do believe that LSI does have some firmware that'll allow
to enable write back cache without a battery.  I am not 100% sure about though.

On Wed, Aug 23, 2006 at 04:01:10AM +0200, Robert Urban wrote:
 below are the results of my tests with the LSI MegaRAID SCSI 320-2
 controller on 3.9-release and 4.0-beta (snapshot pulled on Aug 22, 2006).
 I tested writing to both a RAID-5 and a RAID-0 logical drive.  The
 RAID-0 drive consists of a single drive, what I'd call a JBOD.  While
 the test program was running, I had iostat running, and I noted the
 results next to each test.  The iostat values moved around a lot, so I
 took a figure close to the peak value.

 Naturally all the async tests were influenced by the buffer cache to
 a certain extent.

 I'm a little confused as to why writing sequential blocks with O_SYNC
 should be so slow...




Re: MegaRAID SCSI 320-2 bad write performance

2006-08-23 Thread Robert Urban
I set up a couple of partitions to perform raw I/O to, one on the RAID-5 drive
and one on the RAID-0 drive:

dd to raw device:
RAID-5: 6.4MB/s
RAID-0: 9.1MB/s

There is *no* difference between 3.9 and 4.0-beta.

For kicks, I also tested reading from a raw device:

dd reading from a raw device:
RAID-5: 38.3MB/s
RAID-0: 81.4MB/s

For what it's worth, the numbers for writing and reading are identical under 
linux too.

Summary: hw-raid controllers are slow for writing, at least without a cache 
battery.

last question: what kind of performance can I expect if I get the battery?

Rob Urban



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-23 Thread Greg Thomas

On 8/23/06, Robert Urban [EMAIL PROTECTED] wrote:

I set up a couple of partitions to perform raw I/O to, one on the RAID-5 drive
and one on the RAID-0 drive:

dd to raw device:
RAID-5: 6.4MB/s
RAID-0: 9.1MB/s


Hmmm, if I'm doing my calculations right I'm getting almost 40MB/s for
RAID-1 which should be slower than RAID-0, shouldn't it?



There is *no* difference between 3.9 and 4.0-beta.

For kicks, I also tested reading from a raw device:

dd reading from a raw device:
RAID-5: 38.3MB/s
RAID-0: 81.4MB/s

For what it's worth, the numbers for writing and reading are identical under
linux too.

Summary: hw-raid controllers are slow for writing, at least without a cache
battery.

last question: what kind of performance can I expect if I get the battery?



When I get  back from my vacation to China I think I'll get the
battery for my 150-6.

Greg



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-23 Thread Robert Urban
Greg wrote:
 Hmmm, if I'm doing my calculations right I'm getting almost 40MB/s for
 RAID-1 which should be slower than RAID-0, shouldn't it?

I'm not sure what you mean by my calculations.  In your earlier mail you 
wrote:

 [EMAIL PROTECTED]:/home/ethant# dd if=/dev/zero of=/dev/rsd1c bs=64k 
 count=4096
 4096+0 records in
 4096+0 records out
 268435456 bytes transferred in 6.441 secs (41674946 bytes/sec)

dd is kind enough to tell you the b/w :)  I guess you mean this.

RAID-1, mirroring, is *not necessarily* slower than RAID-0, striping.  
Somewhere,
something has to issue two write operations, one to each mirror, and then wait
for both to finish before announcing that the I/O is finished.  This may take
a bit more time compared to a single disk, but it shouldn't be much.  If you
have multiple disks in a RAID-0 array, that should be much faster, of course.

Rob Urban



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-22 Thread Rémy Chibois

On Aug 22, 2006, at 2:17 AM, Robert Urban wrote:


Hi Folks,

using a simple test program to write sequential blocks to a file,  
optionally
opening with O_SYNC, I've tested write performance to a MegaRAID  
logical
drive consisting of a RAID-5 set of 4 72GB HP Ultra320 disks and to  
a RAID-0

drive consisting of a single 300GB HP Ultra320 disk.  The controller
has 128MB of cache, but I do not have a battery, so cache write policy
is write-through.  The kernel is the bsd, and not bsd.mp, but  
it makes

no difference. I've tried both.


Had the same kind of low performance on a Dell server with an entry  
level RAID adapter.
I took the risk to force cache write policy to write-back, even  
without a battery.


Performance is as it should be for a RAID-0, I'm just sweating a bit  
more...


Next time, will add a few bucks and buy a real controller.

Regards.



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-22 Thread Robert Urban
below are the results of my tests with the LSI MegaRAID SCSI 320-2
controller on 3.9-release and 4.0-beta (snapshot pulled on Aug 22, 2006).
I tested writing to both a RAID-5 and a RAID-0 logical drive.  The
RAID-0 drive consists of a single drive, what I'd call a JBOD.  While
the test program was running, I had iostat running, and I noted the
results next to each test.  The iostat values moved around a lot, so I
took a figure close to the peak value.

Naturally all the async tests were influenced by the buffer cache to
a certain extent.

I'm a little confused as to why writing sequential blocks with O_SYNC
should be so slow...

Rob Urban

#==
# 3.9
#==

RAID-0 drive:

write-test:
--

Sync
--
1 proc: 1.7MB/s
iostat: 1.8MB/s

2 procs: 1MB/s and 1MB/s
iostat: 2MB/s

Async
--
1 proc: 8.7MB/s
iostat: 5MB/s

2 procs: 11MB/s and 5.6MB/s
iostat: 4.8MB/s

dd if=/dev/zero of=testfile bs=64k count=4096
--
took 28.26 seconds, bw: 9MB/s
iostat reported: 4.6MB/s

RAID-5 drive:

write-test:
--

Sync
--
1 proc: 1.1MB/s
iostat: 1.2MB/s

2 procs: 0.7MB/s and 0.7MB/s
iostat: 1.6MB/s

Async
--
1 proc: 10MB/s
iostat: 3.2MB/s

2 procs: 5.2MB/s and 5.2MB/s
iostat: 5MB/s

dd if=/dev/zero of=testfile bs=64k count=4096
--
took 39.1 seconds, bw: 6.5MB/s
iostat reported: 3.3MB/s


#==
# 4.0-beta
#==

RAID-0 drive:

write-test:
--

Sync
--
1 proc: 1.5MB/s
iostat: 3MB/s

2 procs: 0.76MB/s and 0.76MB/s
iostat: 3.4MB/s

Async
--
1 proc: 15MB/s
iostat: 10MB/s

2 procs: 8.2MB/s and 5.8MB/s
iostat: 10MB/s

dd if=/dev/zero of=testfile bs=64k count=4096
--
took 21.8 seconds, bw: 11.7MB/s
iostat reported: 10MB/s

RAID-5 drive:

write-test:
--

Sync
--
1 proc: 1.02MB/s
iostat: 2.5MB/s

2 procs: 0.62MB/s and 0.62MB/s
iostat: 2.9MB/s

Async
--
1 proc: 9MB/s
iostat: 6.3MB/s

2 procs: 4.1MB/s and 3.8MB/s
iostat: 6.5MB/s

dd if=/dev/zero of=testfile bs=64k count=4096
--
took 35 seconds, bw: 7.3MB/s
iostat reported: 7MB/s



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-22 Thread Kevin

On 8/21/06, Robert Urban [EMAIL PROTECTED] wrote:

using a simple test program to write sequential blocks to a file, optionally
opening with O_SYNC, I've tested write performance to a MegaRAID logical
drive . . .

All tests performed with O_SYNC, to avoid bufcache interaction.

The performance, at least to my perhaps naive eyes, seems abysmal.
I'm getting 1.2MB/sec on the RAID-5 logical drive.


Have you tried your test on any other controller?
Do you have bonnie++ results for this controller?

I have a pair of Dell 2850 servers with PERC 4e/Di,
if these are similar enough I can run tests (RAID0 and RAID1).

Kevin



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-22 Thread Robert Urban
Hi Kevin,

Kevin wrote:
 On 8/21/06, Robert Urban [EMAIL PROTECTED] wrote:
  using a simple test program to write sequential blocks to a file, optionally
  opening with O_SYNC, I've tested write performance to a MegaRAID logical
  drive . . .
 
  All tests performed with O_SYNC, to avoid bufcache interaction.
 
  The performance, at least to my perhaps naive eyes, seems abysmal.
  I'm getting 1.2MB/sec on the RAID-5 logical drive.
 
 Have you tried your test on any other controller?

no.  I could run them on the onboard Smart Array 5i controller.  I will try to
get some results for this controller, maybe tomorrow.

 Do you have bonnie++ results for this controller?

No, but I've just copied the sources :)

Will post.

In order to get a baseline, I could plug in an AHA-3960D (dual channel U160) 
and connect
a disk to it, just to see what the disk can do with no raid controller in 
between...

 I have a pair of Dell 2850 servers with PERC 4e/Di,
 if these are similar enough I can run tests (RAID0 and RAID1).

with cache battery back up?

Rob Urban



Re: MegaRAID SCSI 320-2 bad write performance

2006-08-22 Thread Marco Peereboom
Due to the battery missing every IO the host sends has to complete before the
next one goes down.  So the sequence of events is:
1. Send host io through driver
2. Firmware accepts it
3. Firmware creates 1 or more IOs and shoots those off to the disk
4. Firmware waits until IOs complete
5. Firmware raises interrupt to inform host that IO completed
6. ami(4) driver now completes the IO on the host
7. goto 1

Also if you want to test read/write performance you have to use the raw device.
A dd test should use for example /dev/rsd0c instead of a file.

Why don't you have a battery for that thing?

On a separate note; i do believe that LSI does have some firmware that'll allow
to enable write back cache without a battery.  I am not 100% sure about though.

On Wed, Aug 23, 2006 at 04:01:10AM +0200, Robert Urban wrote:
 below are the results of my tests with the LSI MegaRAID SCSI 320-2
 controller on 3.9-release and 4.0-beta (snapshot pulled on Aug 22, 2006).
 I tested writing to both a RAID-5 and a RAID-0 logical drive.  The
 RAID-0 drive consists of a single drive, what I'd call a JBOD.  While
 the test program was running, I had iostat running, and I noted the
 results next to each test.  The iostat values moved around a lot, so I
 took a figure close to the peak value.
 
 Naturally all the async tests were influenced by the buffer cache to
 a certain extent.
 
 I'm a little confused as to why writing sequential blocks with O_SYNC
 should be so slow...
 
 Rob Urban
 
 #==
 # 3.9
 #==
 
 RAID-0 drive:
 
   write-test:
   --
 
   Sync
   --
   1 proc: 1.7MB/s
   iostat: 1.8MB/s
 
   2 procs: 1MB/s and 1MB/s
   iostat: 2MB/s
 
   Async
   --
   1 proc: 8.7MB/s
   iostat: 5MB/s
 
   2 procs: 11MB/s and 5.6MB/s
   iostat: 4.8MB/s
 
   dd if=/dev/zero of=testfile bs=64k count=4096
   --
   took 28.26 seconds, bw: 9MB/s
   iostat reported: 4.6MB/s
 
 RAID-5 drive:
 
   write-test:
   --
 
   Sync
   --
   1 proc: 1.1MB/s
   iostat: 1.2MB/s
 
   2 procs: 0.7MB/s and 0.7MB/s
   iostat: 1.6MB/s
 
   Async
   --
   1 proc: 10MB/s
   iostat: 3.2MB/s
 
   2 procs: 5.2MB/s and 5.2MB/s
   iostat: 5MB/s
 
   dd if=/dev/zero of=testfile bs=64k count=4096
   --
   took 39.1 seconds, bw: 6.5MB/s
   iostat reported: 3.3MB/s
 
 
 #==
 # 4.0-beta
 #==
 
 RAID-0 drive:
 
   write-test:
   --
 
   Sync
   --
   1 proc: 1.5MB/s
   iostat: 3MB/s
 
   2 procs: 0.76MB/s and 0.76MB/s
   iostat: 3.4MB/s
 
   Async
   --
   1 proc: 15MB/s
   iostat: 10MB/s
 
   2 procs: 8.2MB/s and 5.8MB/s
   iostat: 10MB/s
 
   dd if=/dev/zero of=testfile bs=64k count=4096
   --
   took 21.8 seconds, bw: 11.7MB/s
   iostat reported: 10MB/s
 
 RAID-5 drive:
 
   write-test:
   --
 
   Sync
   --
   1 proc: 1.02MB/s
   iostat: 2.5MB/s
 
   2 procs: 0.62MB/s and 0.62MB/s
   iostat: 2.9MB/s
 
   Async
   --
   1 proc: 9MB/s
   iostat: 6.3MB/s
 
   2 procs: 4.1MB/s and 3.8MB/s
   iostat: 6.5MB/s
 
   dd if=/dev/zero of=testfile bs=64k count=4096
   --
   took 35 seconds, bw: 7.3MB/s
   iostat reported: 7MB/s



MegaRAID SCSI 320-2 bad write performance

2006-08-21 Thread Robert Urban
Hi Folks,

using a simple test program to write sequential blocks to a file, optionally
opening with O_SYNC, I've tested write performance to a MegaRAID logical
drive consisting of a RAID-5 set of 4 72GB HP Ultra320 disks and to a RAID-0
drive consisting of a single 300GB HP Ultra320 disk.  The controller
has 128MB of cache, but I do not have a battery, so cache write policy
is write-through.  The kernel is the bsd, and not bsd.mp, but it makes
no difference. I've tried both.

All tests performed with O_SYNC, to avoid bufcache interaction.

The performance, at least to my perhaps naive eyes, seems abysmal.  I'm getting
1.2MB/sec on the RAID-5 logical drive.

It doesn't matter what blocksize I choose, 32k, 64k, 128k, 256k.  The chunksize
on the logical drive is the default, 64k.

On the single HP 300GB Ultra320 RAID-0 drive write performance is also bad:
1.7MB/sec.

The systems is (in case you hadn't already guessed) a Compaq ProLiant DL380-G2
with 1GB main memory and dual 1266MHz CPUs.  I will attach dmesg, my test
program, and the output of bioctl -iv ami0 below.

I can't imagine the MegaRAID controller is this slow.  Any suggestions?

Rob Urban

dmesg:
---
OpenBSD 3.9 (GENERIC) #617: Thu Mar  2 02:26:48 MST 2006
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) III CPU family 1266MHz (GenuineIntel 686-class) 
1.27 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,M
MX,FXSR,SSE
real mem  = 1073307648 (1048152K)
avail mem = 972660736 (949864K)
using 4278 buffers containing 53768192 bytes (52508K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 12/31/99, BIOS32 rev. 0 @ 0xf
pcibios0 at bios0: rev 2.1 @ 0xf/0x2000
pcibios0: PCI BIOS has 9 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:15:0 (ServerWorks OSB4 rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc/0x8000 0xc8000/0x2600 0xee000/0x2000!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 ServerWorks CNB20HE Host rev 0x23
pci1 at pchb0 bus 1
ppb0 at pci1 dev 3 function 0 Intel i960 RP PCI-PCI rev 0x05
pci2 at ppb0 bus 2
vga1 at pci2 dev 0 function 0 ATI Mach64 GV rev 0x7a
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
Intel 80960RP ATU rev 0x05 at pci1 dev 3 function 1 not configured
pchb1 at pci0 dev 0 function 1 ServerWorks CNB20HE Host rev 0x01
pchb2 at pci0 dev 0 function 2 ServerWorks CNB20HE Host rev 0x01
pchb3 at pci0 dev 0 function 3 ServerWorks CNB20HE Host rev 0x01
pci3 at pchb3 bus 7
ami0 at pci3 dev 4 function 0 Symbios Logic MegaRAID rev 0x01: irq 3 Dell 
518 64b/lhc
ami0: FW 351X, BIOS v1.10, 128MB RAM
ami0: 2 channels, 0 FC loops, 2 logical drives
scsibus0 at ami0: 40 targets
sd0 at scsibus0 targ 0 lun 0: AMI, Host drive #00,  SCSI2 0/direct fixed
sd0: 208110MB, 208110 cyl, 64 head, 32 sec, 512 bytes/sec, 426209280 sec total
sd1 at scsibus0 targ 1 lun 0: AMI, Host drive #01,  SCSI2 0/direct fixed
sd1: 286080MB, 286080 cyl, 64 head, 32 sec, 512 bytes/sec, 585891840 sec total
scsibus1 at ami0: 16 targets
uk0 at scsibus1 targ 15 lun 0: COMPAQ, PROLIANT 4L6I, 1.84 SCSI2 3/processor 
fixed
uk0: unknown device
scsibus2 at ami0: 16 targets
Compaq PCI Hotplug rev 0x12 at pci3 dev 7 function 0 not configured
fxp0 at pci0 dev 2 function 0 Intel 8255x rev 0x08, i82559: irq 5, address 
00:08:02:8a:4b:fc
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
fxp1 at pci0 dev 4 function 0 Intel 8255x rev 0x08, i82559: irq 7, address 
00:08:02:8a:4b:fb
inphy1 at fxp1 phy 1: i82555 10/100 PHY, rev. 4
Compaq Netelligent ASMC rev 0x00 at pci0 dev 6 function 0 not configured
piixpm0 at pci0 dev 15 function 0 ServerWorks OSB4 rev 0x51: SMBus disabled
pciide0 at pci0 dev 15 function 1 ServerWorks OSB4 IDE rev 0x00: DMA
atapiscsi0 at pciide0 channel 0 drive 0
scsibus3 at atapiscsi0: 2 targets
cd0 at scsibus3 targ 0 lun 0: COMPAQ, CD-ROM SN-124, N102 SCSI0 5/cdrom 
removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 1
ohci0 at pci0 dev 15 function 2 ServerWorks OSB4/CSB5 USB rev 0x04: irq 11, 
version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: ServerWorks OHCI root hub, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
isa0 at mainbus0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask ef4d netmask efed ttymask ffef
pctr: 686-class 

Re: MegaRAID SCSI 320-2 bad write performance

2006-08-21 Thread David Gwynne

On 22/08/2006, at 10:17 AM, Robert Urban wrote:


Hi Folks,

using a simple test program to write sequential blocks to a file,  
optionally
opening with O_SYNC, I've tested write performance to a MegaRAID  
logical
drive consisting of a RAID-5 set of 4 72GB HP Ultra320 disks and to  
a RAID-0

drive consisting of a single 300GB HP Ultra320 disk.  The controller
has 128MB of cache, but I do not have a battery, so cache write policy
is write-through.  The kernel is the bsd, and not bsd.mp, but  
it makes

no difference. I've tried both.


bsd should be slightly faster than bsd.mp, but not enough for you to  
notice. Can you bring the box up to a snapshot?



All tests performed with O_SYNC, to avoid bufcache interaction.


if you really want to avoid that then use /dev/rsdXX.

The performance, at least to my perhaps naive eyes, seems abysmal.   
I'm getting

1.2MB/sec on the RAID-5 logical drive.

It doesn't matter what blocksize I choose, 32k, 64k, 128k, 256k.   
The chunksize

on the logical drive is the default, 64k.

On the single HP 300GB Ultra320 RAID-0 drive write performance is  
also bad:

1.7MB/sec.

The systems is (in case you hadn't already guessed) a Compaq  
ProLiant DL380-G2
with 1GB main memory and dual 1266MHz CPUs.  I will attach dmesg,  
my test

program, and the output of bioctl -iv ami0 below.

I can't imagine the MegaRAID controller is this slow.  Any  
suggestions?


can you try running multiple copies of your test app at the same time  
and see if performance increases?


regards,
dlg



Rob Urban

dmesg:
---
OpenBSD 3.9 (GENERIC) #617: Thu Mar  2 02:26:48 MST 2006
[EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Pentium(R) III CPU family 1266MHz (GenuineIntel  
686-class)

1.27 GHz
cpu0:  
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE3 
6,M

MX,FXSR,SSE
real mem  = 1073307648 (1048152K)
avail mem = 972660736 (949864K)
using 4278 buffers containing 53768192 bytes (52508K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 12/31/99, BIOS32 rev. 0 @  
0xf

pcibios0 at bios0: rev 2.1 @ 0xf/0x2000
pcibios0: PCI BIOS has 9 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:15:0 (ServerWorks OSB4 rev  
0x00)

pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc/0x8000 0xc8000/0x2600 0xee000/0x2000!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 ServerWorks CNB20HE Host rev 0x23
pci1 at pchb0 bus 1
ppb0 at pci1 dev 3 function 0 Intel i960 RP PCI-PCI rev 0x05
pci2 at ppb0 bus 2
vga1 at pci2 dev 0 function 0 ATI Mach64 GV rev 0x7a
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
Intel 80960RP ATU rev 0x05 at pci1 dev 3 function 1 not configured
pchb1 at pci0 dev 0 function 1 ServerWorks CNB20HE Host rev 0x01
pchb2 at pci0 dev 0 function 2 ServerWorks CNB20HE Host rev 0x01
pchb3 at pci0 dev 0 function 3 ServerWorks CNB20HE Host rev 0x01
pci3 at pchb3 bus 7
ami0 at pci3 dev 4 function 0 Symbios Logic MegaRAID rev 0x01:  
irq 3 Dell

518 64b/lhc
ami0: FW 351X, BIOS v1.10, 128MB RAM
ami0: 2 channels, 0 FC loops, 2 logical drives
scsibus0 at ami0: 40 targets
sd0 at scsibus0 targ 0 lun 0: AMI, Host drive #00,  SCSI2 0/ 
direct fixed
sd0: 208110MB, 208110 cyl, 64 head, 32 sec, 512 bytes/sec,  
426209280 sec total
sd1 at scsibus0 targ 1 lun 0: AMI, Host drive #01,  SCSI2 0/ 
direct fixed
sd1: 286080MB, 286080 cyl, 64 head, 32 sec, 512 bytes/sec,  
585891840 sec total

scsibus1 at ami0: 16 targets
uk0 at scsibus1 targ 15 lun 0: COMPAQ, PROLIANT 4L6I, 1.84 SCSI2  
3/processor

fixed
uk0: unknown device
scsibus2 at ami0: 16 targets
Compaq PCI Hotplug rev 0x12 at pci3 dev 7 function 0 not configured
fxp0 at pci0 dev 2 function 0 Intel 8255x rev 0x08, i82559: irq  
5, address

00:08:02:8a:4b:fc
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
fxp1 at pci0 dev 4 function 0 Intel 8255x rev 0x08, i82559: irq  
7, address

00:08:02:8a:4b:fb
inphy1 at fxp1 phy 1: i82555 10/100 PHY, rev. 4
Compaq Netelligent ASMC rev 0x00 at pci0 dev 6 function 0 not  
configured
piixpm0 at pci0 dev 15 function 0 ServerWorks OSB4 rev 0x51:  
SMBus disabled

pciide0 at pci0 dev 15 function 1 ServerWorks OSB4 IDE rev 0x00: DMA
atapiscsi0 at pciide0 channel 0 drive 0
scsibus3 at atapiscsi0: 2 targets
cd0 at scsibus3 targ 0 lun 0: COMPAQ, CD-ROM SN-124, N102 SCSI0 5/ 
cdrom

removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 1
ohci0 at pci0 dev 15 function 2 ServerWorks OSB4/CSB5 USB rev  
0x04: irq 11,

version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: ServerWorks OHCI root hub, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
isa0 at mainbus0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, 

Re: MegaRAID SCSI 320-2 bad write performance

2006-08-21 Thread Marco Peereboom
no battery = no cache.  Performance is abysmal without.

On Tue, Aug 22, 2006 at 02:17:35AM +0200, Robert Urban wrote:
 Hi Folks,
 
 using a simple test program to write sequential blocks to a file, optionally
 opening with O_SYNC, I've tested write performance to a MegaRAID logical
 drive consisting of a RAID-5 set of 4 72GB HP Ultra320 disks and to a RAID-0
 drive consisting of a single 300GB HP Ultra320 disk.  The controller
 has 128MB of cache, but I do not have a battery, so cache write policy
 is write-through.  The kernel is the bsd, and not bsd.mp, but it makes
 no difference. I've tried both.
 
 All tests performed with O_SYNC, to avoid bufcache interaction.
 
 The performance, at least to my perhaps naive eyes, seems abysmal.  I'm 
 getting
 1.2MB/sec on the RAID-5 logical drive.
 
 It doesn't matter what blocksize I choose, 32k, 64k, 128k, 256k.  The 
 chunksize
 on the logical drive is the default, 64k.
 
 On the single HP 300GB Ultra320 RAID-0 drive write performance is also bad:
 1.7MB/sec.
 
 The systems is (in case you hadn't already guessed) a Compaq ProLiant DL380-G2
 with 1GB main memory and dual 1266MHz CPUs.  I will attach dmesg, my test
 program, and the output of bioctl -iv ami0 below.
 
 I can't imagine the MegaRAID controller is this slow.  Any suggestions?
 
 Rob Urban
 
 dmesg:
 ---
 OpenBSD 3.9 (GENERIC) #617: Thu Mar  2 02:26:48 MST 2006
 [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
 cpu0: Intel(R) Pentium(R) III CPU family 1266MHz (GenuineIntel 686-class) 
 1.27 GHz
 cpu0: 
 FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,M
 MX,FXSR,SSE
 real mem  = 1073307648 (1048152K)
 avail mem = 972660736 (949864K)
 using 4278 buffers containing 53768192 bytes (52508K) of memory
 mainbus0 (root)
 bios0 at mainbus0: AT/286+(00) BIOS, date 12/31/99, BIOS32 rev. 0 @ 0xf
 pcibios0 at bios0: rev 2.1 @ 0xf/0x2000
 pcibios0: PCI BIOS has 9 Interrupt Routing table entries
 pcibios0: PCI Interrupt Router at 000:15:0 (ServerWorks OSB4 rev 0x00)
 pcibios0: PCI bus #0 is the last bus
 bios0: ROM list: 0xc/0x8000 0xc8000/0x2600 0xee000/0x2000!
 cpu0 at mainbus0
 pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
 pchb0 at pci0 dev 0 function 0 ServerWorks CNB20HE Host rev 0x23
 pci1 at pchb0 bus 1
 ppb0 at pci1 dev 3 function 0 Intel i960 RP PCI-PCI rev 0x05
 pci2 at ppb0 bus 2
 vga1 at pci2 dev 0 function 0 ATI Mach64 GV rev 0x7a
 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 Intel 80960RP ATU rev 0x05 at pci1 dev 3 function 1 not configured
 pchb1 at pci0 dev 0 function 1 ServerWorks CNB20HE Host rev 0x01
 pchb2 at pci0 dev 0 function 2 ServerWorks CNB20HE Host rev 0x01
 pchb3 at pci0 dev 0 function 3 ServerWorks CNB20HE Host rev 0x01
 pci3 at pchb3 bus 7
 ami0 at pci3 dev 4 function 0 Symbios Logic MegaRAID rev 0x01: irq 3 Dell 
 518 64b/lhc
 ami0: FW 351X, BIOS v1.10, 128MB RAM
 ami0: 2 channels, 0 FC loops, 2 logical drives
 scsibus0 at ami0: 40 targets
 sd0 at scsibus0 targ 0 lun 0: AMI, Host drive #00,  SCSI2 0/direct fixed
 sd0: 208110MB, 208110 cyl, 64 head, 32 sec, 512 bytes/sec, 426209280 sec total
 sd1 at scsibus0 targ 1 lun 0: AMI, Host drive #01,  SCSI2 0/direct fixed
 sd1: 286080MB, 286080 cyl, 64 head, 32 sec, 512 bytes/sec, 585891840 sec total
 scsibus1 at ami0: 16 targets
 uk0 at scsibus1 targ 15 lun 0: COMPAQ, PROLIANT 4L6I, 1.84 SCSI2 
 3/processor 
 fixed
 uk0: unknown device
 scsibus2 at ami0: 16 targets
 Compaq PCI Hotplug rev 0x12 at pci3 dev 7 function 0 not configured
 fxp0 at pci0 dev 2 function 0 Intel 8255x rev 0x08, i82559: irq 5, address 
 00:08:02:8a:4b:fc
 inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
 fxp1 at pci0 dev 4 function 0 Intel 8255x rev 0x08, i82559: irq 7, address 
 00:08:02:8a:4b:fb
 inphy1 at fxp1 phy 1: i82555 10/100 PHY, rev. 4
 Compaq Netelligent ASMC rev 0x00 at pci0 dev 6 function 0 not configured
 piixpm0 at pci0 dev 15 function 0 ServerWorks OSB4 rev 0x51: SMBus disabled
 pciide0 at pci0 dev 15 function 1 ServerWorks OSB4 IDE rev 0x00: DMA
 atapiscsi0 at pciide0 channel 0 drive 0
 scsibus3 at atapiscsi0: 2 targets
 cd0 at scsibus3 targ 0 lun 0: COMPAQ, CD-ROM SN-124, N102 SCSI0 5/cdrom 
 removable
 cd0(pciide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 1
 ohci0 at pci0 dev 15 function 2 ServerWorks OSB4/CSB5 USB rev 0x04: irq 11, 
 version 1.0, legacy support
 usb0 at ohci0: USB revision 1.0
 uhub0 at usb0
 uhub0: ServerWorks OHCI root hub, rev 1.00/1.00, addr 1
 uhub0: 4 ports with 4 removable, self powered
 isa0 at mainbus0
 isadma0 at isa0
 pckbc0 at isa0 port 0x60/5
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: PC speaker
 spkr0 at pcppi0
 npx0 at isa0