diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2013-06-06 12:14:53 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2013-06-06 12:14:53 +0200 |
commit | b24aad1622a540ab71bc9e9425bdecfc17f443c9 (patch) | |
tree | cb258c870633c20545d6da088c43269781bc4e97 /test/shell/vgchange-many.sh | |
parent | 215ab4c9cec497465a60b91ef53046665ed5e1d2 (diff) | |
download | lvm2-b24aad1622a540ab71bc9e9425bdecfc17f443c9.tar.gz |
tests: performance testing
Tests speed of activation and deactivation of a lot of volumes.
Currently limited to 1000LVs
TODO: explore why lvmetad fails with higher number.
Diffstat (limited to 'test/shell/vgchange-many.sh')
-rw-r--r-- | test/shell/vgchange-many.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/shell/vgchange-many.sh b/test/shell/vgchange-many.sh new file mode 100644 index 000000000..491c8b1e4 --- /dev/null +++ b/test/shell/vgchange-many.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# Copyright (C) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions +# of the GNU General Public License v.2. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Check perfomance of activation and deactivation +. lib/test + +# FIXME: lvmetad fails with i.e. 1500 device on memory failure... + +# Number of LVs to create +DEVICES=1000 + +aux prepare_pvs 1 400 + +vgcreate -s 128K $vg $(cat DEVICES) + +vgcfgbackup -f data $vg + +# Generate a lot of devices (size of 1 extent) +awk -v DEVICES=$DEVICES '/^\t\}/ { \ + printf("\t}\n\tlogical_volumes {\n");\ + cnt=0; + for (i = 0; i < DEVICES; i++) { \ + printf("\t\tlvol%06d {\n", i);\ + printf("\t\t\tid = \"%06d-1111-2222-3333-2222-1111-%06d\"\n", i, i); \ + print "\t\t\tstatus = [\"READ\", \"WRITE\", \"VISIBLE\"]"; \ + print "\t\t\tsegment_count = 1"; \ + print "\t\t\tsegment1 {"; \ + print "\t\t\t\tstart_extent = 0"; \ + print "\t\t\t\textent_count = 1"; \ + print "\t\t\t\ttype = \"striped\""; \ + print "\t\t\t\tstripe_count = 1"; \ + print "\t\t\t\tstripes = ["; \ + print "\t\t\t\t\t\"pv0\", " cnt++; \ + printf("\t\t\t\t]\n\t\t\t}\n\t\t}\n"); \ + } \ + } + {print} +' data >data_new + +vgcfgrestore -f data_new $vg + +# Activate and deactivate all of them +vgchange -ay $vg +vgchange -an $vg |