summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2018-05-16 13:43:02 +0100
committerJoe Thornber <ejt@redhat.com>2018-05-16 13:43:02 +0100
commit89fdc0b5889d24fe785e7fa4c2be13659d1ed0b2 (patch)
tree55484f573f545e2bda01371ccf1b3ca4fe128620 /doc
parentccc35e2647b3b78f2fb0d62c25f21fcccbf58950 (diff)
parent7c852c75c3b3e719d57d3410bf0c2a5e61d67f4e (diff)
downloadlvm2-89fdc0b5889d24fe785e7fa4c2be13659d1ed0b2.tar.gz
Merge branch 'master' into 2018-05-11-fork-libdm
Diffstat (limited to 'doc')
-rw-r--r--doc/lvm-disk-reading.txt107
1 files changed, 107 insertions, 0 deletions
diff --git a/doc/lvm-disk-reading.txt b/doc/lvm-disk-reading.txt
index 1255ae8b2..66b4467de 100644
--- a/doc/lvm-disk-reading.txt
+++ b/doc/lvm-disk-reading.txt
@@ -229,3 +229,110 @@ It may be worthwhile to change the filters to use the udev info as a hint,
or only use udev info for filtering in reporting commands where
inaccuracies are not a big problem.)
+
+
+I/O Performance
+---------------
+
+. 400 loop devices used as PVs
+. 40 VGs each with 10 PVs
+. each VG has one active LV
+. each of the 10 PVs in vg0 has an artificial 100 ms read delay
+. read/write/io_submit are system call counts using strace
+. old is lvm 2.2.175
+. new is lvm 2.2.178 (shortly before)
+
+
+Command: pvs
+------------
+old: 0m17.422s
+new: 0m0.331s
+
+old: read 7773 write 497
+new: read 2807 write 495 io_submit 448
+
+
+Command: vgs
+------------
+old: 0m20.383s
+new: 0m0.325s
+
+old: read 10684 write 129
+new: read 2807 write 129 io_submit 448
+
+
+Command: vgck vg0
+-----------------
+old: 0m16.212s
+new: 0m1.290s
+
+old: read 6372 write 4
+new: read 2807 write 4 io_submit 458
+
+
+Command: lvcreate -n test -l1 -an vg0
+-------------------------------------
+old: 0m29.271s
+new: 0m1.351s
+
+old: read 6503 write 39
+new: read 2808 write 9 io_submit 488
+
+
+Command: lvremove vg0/test
+--------------------------
+old: 0m29.262s
+new: 0m1.348s
+
+old: read 6502 write 36
+new: read 2807 write 6 io_submit 488
+
+
+io_submit sources
+-----------------
+
+vgs:
+ reads:
+ - 400 for each PV
+ - 40 for each LV
+ - 8 for other devs on the system
+
+vgck vg0:
+ reads:
+ - 400 for each PV
+ - 40 for each LV
+ - 10 for each PV in vg0 (rescan)
+ - 8 for other devs on the system
+
+lvcreate -n test -l1 -an vg0
+ reads:
+ - 400 for each PV
+ - 40 for each LV
+ - 10 for each PV in vg0 (rescan)
+ - 8 for other devs on the system
+ writes:
+ - 10 for metadata on each PV in vg0
+ - 10 for precommit on each PV in vg0
+ - 10 for commit on each PV in vg0
+
+
+
+With lvmetad
+------------
+
+Command: pvs
+------------
+old: 0m5.405s
+new: 0m1.404s
+
+Command: vgs
+------------
+old: 0m0.222s
+new: 0m0.223s
+
+Command: lvcreate -n test -l1 -an vg0
+-------------------------------------
+old: 0m10.128s
+new: 0m1.137s
+
+