[linux-lvm] LVM on Raid 5 Performance?
Herbert Poetzl
herbert at 13thfloor.at
Tue May 13 08:36:02 UTC 2003
Hi All!
I'm using LVM for a long time, usually on non RAID
systems to simplify storage space modifications ...
recently I configured a nice system (Dual Athlon,
with 4 18.2G U160 SCSI IBM (DDYS-T18350N) disks
on an Adaptec 29160N Ultra160. Because I had some
troubles with the Adaptec/SCSI cabeling I reduced
the bus speed to 40Mhz, which gives 80MB/s transfer
(theoretically) via SCSI, each disc seems to do
about 15MB/s (which seems a little low). I decided
to arrange the 4 discs in a RAID 5 array to gain
some speedup and redundancy (which resulted in
about 33MB/s burst, 25% below the, again theoretical
limit of 45MB/s). Ontop of the RAID 5 array I
configured LVM 1.0.7 to create several partitions
for further use ...
Now what happened was, that the performance (read)
dropped to about 18MB/s burst, which wasn't what
I expected at all ...
Has anybody any explanations why the LVM layer eats
up about 45% of the available throughput?
(in this configuration?)
raw disc md(raid5) lvm on md
-----------------------------------------------------
hdparm 14694.40 34129.92 18667.52
dd 1024k 14988.22 34732.56 18647.98
dd 32k 15516.06 33945.48 18862.67
best,
Herbert
--- Technical Information ---
2.4.21-rc2 kernel (with 1.0.7 LVM patch, among others)
May 11 05:26:52 phoenix kernel: SCSI subsystem driver Revision: 1.00
May 11 05:26:52 phoenix kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.33
May 11 05:26:52 phoenix kernel: <Adaptec 29160N Ultra160 SCSI adapter>
May 11 05:26:52 phoenix kernel: aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
May 11 05:26:52 phoenix kernel:
May 11 05:26:52 phoenix kernel: blk: queue c3667e18, I/O limit 4095Mb (mask 0xffffffff)
May 11 05:26:52 phoenix kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 63, 16bit)
May 11 05:26:52 phoenix kernel: (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 63, 16bit)
May 11 05:26:52 phoenix kernel: (scsi0:A:2): 80.000MB/s transfers (40.000MHz, offset 63, 16bit)
May 11 05:26:52 phoenix kernel: (scsi0:A:3): 80.000MB/s transfers (40.000MHz, offset 63, 16bit)
raiddev /dev/md/0
raid-level 5
nr-raid-disks 4
nr-spare-disks 0
chunk-size 32
parity-algorithm left-symmetric
persistent-superblock 1
device /dev/hd0/part5
raid-disk 0
device /dev/hd1/part5
raid-disk 1
device /dev/hd2/part5
raid-disk 2
device /dev/hd3/part5
raid-disk 3
pvcreate /dev/md/0
vgcreate -A y vgs /dev/md/0
lvcreate -C y -L 3G -n usr -Z y vgs
--- Tests ---
# hdparm -tT /dev/hd0/disc
/dev/hd0/disc:
Timing buffer-cache reads: 128 MB in 0.50 seconds =256.00 MB/sec
Timing buffered disk reads: 64 MB in 4.46 seconds = 14.35 MB/sec
# time dd if=/dev/hd0/disc of=/dev/null bs=1024k count=1024
1024+0 records in
1024+0 records out
0.00user 16.98system 1:09.96elapsed 24%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (111major+274minor)pagefaults 0swaps
# time dd if=/dev/hd0/disc of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
0.02user 14.66system 1:07.58elapsed 21%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (110major+26minor)pagefaults 0swaps
------------
# hdparm -tT /dev/md/0
/dev/md/0:
Timing buffer-cache reads: 128 MB in 0.49 seconds =261.22 MB/sec
Timing buffered disk reads: 64 MB in 1.92 seconds = 33.33 MB/sec
# time dd if=/dev/md/0 of=/dev/null bs=1024k count=1024
1024+0 records in
1024+0 records out
0.00user 12.09system 0:30.19elapsed 40%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (111major+274minor)pagefaults 0swaps
# time dd if=/dev/md/0 of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
0.00user 10.52system 0:30.89elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (110major+26minor)pagefaults 0swaps
-------------
# hdparm -tT /dev/vgs/usr
/dev/vgs/usr:
Timing buffer-cache reads: 128 MB in 0.50 seconds =256.00 MB/sec
Timing buffered disk reads: 64 MB in 3.51 seconds = 18.23 MB/sec
# time dd if=/dev/vgs/usr of=/dev/null bs=1024k count=1024
1024+0 records in
1024+0 records out
0.01user 18.66system 0:56.23elapsed 33%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (111major+274minor)pagefaults 0swaps
# time dd if=/dev/vgs/usr of=/dev/null bs=32k count=32768
32768+0 records in
32768+0 records out
0.07user 13.43system 0:55.59elapsed 24%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (110major+26minor)pagefaults 0swaps
More information about the linux-lvm
mailing list