Marco Peereboom wrote:
LSI megaraid cards will ALWAYS disable write cache whenever there is no
battery backed up memory on the card. No exceptions. The only thing
you can do is purchase a BBU and replace the current DIMM.
People state disk throughput numbers, but how are these measured? I know
there are utilities in ports for this kind of measurement, but I would
just like to get a general idea using standard utilities (dd, time cp,
etc.).
I have (no BBU):
ami0 at pci0 dev 16 function 0 "AMI MegaRAID" rev 0x20: apic 2 int 16
(irq 5)
ami0: AMI 475, 64b/lhc, FW 163D, BIOS v5.07, 32MB RAM
ami0: 1 channels, 0 FC loops, 1 logical drives
sd0 at scsibus2 targ 0 lun 0: <AMI, Host drive #00, > SCSI2 0/direct fixed
sd0: 140180MB, 140180 cyl, 64 head, 32 sec, 512 bytes/sec, 287088640 sec
total
$ sudo bioctl sd0
Volume Status Size Device
ami0 0 Online 146989383680 sd0 RAID0
0 Online 36747345920 0:1.0 noencl <FUJITSU
MAP3367NP 0108>
1 Online 36747345920 0:2.0 noencl <FUJITSU
MAP3367NP 0108>
2 Online 36747345920 0:3.0 noencl <FUJITSU
MAP3367NP 0108>
3 Online 36747345920 0:4.0 noencl <FUJITSU
MAP3367NP 0108>
Do the following simple tests seem reasonable for my setup?
-----------------------------------------------------
$ dd if=/dev/zero of=JUNK bs=1k count=100000
100000+0 records in
100000+0 records out
102400000 bytes transferred in 1.690 secs (60575479 bytes/sec)
$ ls -lh JUNK
-rw-r--r-- 1 pachl wheel 97.7M Mar 30 12:12 JUNK
$ time cp JUNK /dev/null
0m3.20s real 0m0.00s user 0m0.45s system
$ echo 97.7 / 3.2 | bc -l
30.53125000000000000000
-----------------------------------------------------
$ dd if=/dev/zero of=JUNK bs=2k count=10000
10000+0 records in
10000+0 records out
20480000 bytes transferred in 0.266 secs (76988719 bytes/sec)
$ ll -h JUNK
-rw-r--r-- 1 pachl wheel 19.5M Mar 30 12:49 JUNK
$ time cp JUNK /dev/null
0m0.60s real 0m0.01s user 0m0.08s system
$ echo 19.5 / 0.6 | bc -l
32.50000000000000000000
-----------------------------------------------------
$ dd if=/dev/zero of=JUNK bs=2k count=100000
100000+0 records in
100000+0 records out
204800000 bytes transferred in 3.994 secs (51265915 bytes/sec)
$ ls -lh JUNK
-rw-r--r-- 1 pachl wheel 195M Mar 30 12:56 JUNK
$ dd if=JUNK of=/dev/null bs=4k
50000+0 records in
50000+0 records out
204800000 bytes transferred in 6.458 secs (31708284 bytes/sec)
-----------------------------------------------------
~30MB/s read bandwidth seems kind of crappy for a 4 stripe RAID0. Are my
tests/numbers inaccurate? Are there better ways to get performance
numbers using standard utilities?
-pachl