[linux-lvm] LVM causing IO contention or slowdown?

Stephen Lord lord at sgi.com
Sun Jan 20 08:13:02 UTC 2002


Austin Gonyou wrote:

>As a follow up to this I've done some more testing, and will test the
>rest of this weekend, using AIM db benchmark. 
>
>What I've found is that when mounting with logbufs=8 on my Quad Xeon 2MB
>cache 6450 with 8 Ultra-2 Drives, 4 RAID0 volumes, two of 3 disks each
>and two of 1 disk each. 
>
>The larger Volumes, the more "costly" volumes, when mounted using
>logbufs=8, outperformed the same volume addressed when not under LVM
>control. Not only did it out perform itself, but either WITH or WITHOUT
>LVM controlling the volume, I nearly doubled my throughput to those
>drives. 
>
>Here is what I'm talking about:
>
>#With LVM management
>Throughput 109.715 MB/sec (NB=137.144 MB/sec  1097.15 MBit/sec)  200
>procs
>
>#Without LVM management
>Throughput 100.803 MB/sec (NB=126.004 MB/sec  1008.03 MBit/sec)  200
>procs
>
>
>This only happened once though and I'm not sure exactly why. Still, the
>max I could get out of it for the same test more than once with LVM
>enabled was around 80-85 MB/s. Still a HUGE improvement over 43/44 MB/s.
>

Off topic for the lvm list, but....

The logbufs=8 parameter basically means you have 8 buffers capable of 
pushing
transactions out to disk. If you have lots of threads going at once in 
xfs then the
transactions tend to get throttled waiting for a buffer to do a log 
write into, so
adding more is good.

There is a perl script in the cmd/xfsmisc directory called xfs_stats.pl 
if you
run this it will format the output of the xfs /proc kernel statistics. 
You will
see a parameter called xs_log_noiclogs near the bottom of the first column.
This number means a transaction finished, but then had to wait for a log
buffer before it could hand off its data.

The downside of increasing the number of logbuffers is the amount of data
which can be lost after a crash (i.e. how many ops in the filesystem are
effectively undone by recovery). However,  looking at stats on my box,
each log write contains about 5 transactions, so you can never loose
much.

We have found adding more than 8 usually does not help, making them
bigger would be a different story, but that is actually a very non-trivial
change.

Steve






More information about the linux-lvm mailing list