summaryrefslogtreecommitdiffstats
path: root/src/test/memuse
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/test/memuse
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/memuse')
-rwxr-xr-xsrc/test/memuse/test_pool_memuse.sh19
-rwxr-xr-xsrc/test/memuse/test_pool_memuse_tcmalloc.sh25
-rwxr-xr-xsrc/test/memuse/test_written_pool_memuse.sh12
-rwxr-xr-xsrc/test/memuse/test_written_pool_memuse_tcmalloc.sh54
4 files changed, 110 insertions, 0 deletions
diff --git a/src/test/memuse/test_pool_memuse.sh b/src/test/memuse/test_pool_memuse.sh
new file mode 100755
index 000000000..5d6d6bca1
--- /dev/null
+++ b/src/test/memuse/test_pool_memuse.sh
@@ -0,0 +1,19 @@
+#! /bin/sh -x
+
+#
+# Create a bunch of pools in parallel
+# This test isn't very smart -- run it from your src dir.
+#
+
+set -e
+
+CEPH_NUM_MON=1 CEPH_NUM_MDS=1 CEPH_NUM_OSD=$2 ./vstart.sh -n -d --valgrind_osd 'massif'
+
+for i in `seq 0 $1`; do
+ for j in `seq 0 9`; do
+ poolnum=$((i*10+j))
+ poolname="pool$poolnum"
+ ./ceph osd pool create $poolname 8 &
+ done
+ wait
+done
diff --git a/src/test/memuse/test_pool_memuse_tcmalloc.sh b/src/test/memuse/test_pool_memuse_tcmalloc.sh
new file mode 100755
index 000000000..ab8baaaf7
--- /dev/null
+++ b/src/test/memuse/test_pool_memuse_tcmalloc.sh
@@ -0,0 +1,25 @@
+#! /bin/sh -x
+
+#
+# Create a bunch of pools in parallel
+# This test isn't very smart -- run it from your src dir.
+#
+
+set -e
+
+CEPH_NUM_MON=1 CEPH_NUM_MDS=1 CEPH_NUM_OSD=$2 ./vstart.sh -n -d
+
+num_osd=$2
+maxosd=$((num_osd-1))
+for osd_num in `seq 0 $maxosd`; do
+ ./ceph osd tell $osd_num start_profiler
+done
+
+for i in `seq 0 $1`; do
+ for j in `seq 0 9`; do
+ poolnum=$((i*10+j))
+ poolname="pool$poolnum"
+ ./ceph osd pool create $poolname 8 &
+ done
+ wait
+done
diff --git a/src/test/memuse/test_written_pool_memuse.sh b/src/test/memuse/test_written_pool_memuse.sh
new file mode 100755
index 000000000..db5ece731
--- /dev/null
+++ b/src/test/memuse/test_written_pool_memuse.sh
@@ -0,0 +1,12 @@
+#! /bin/sh -x
+
+set -e
+
+for i in `seq 0 $1`; do
+ for j in `seq 0 9`; do
+ poolnum=$((i*10+j))
+ poolname="pool$poolnum"
+ ./rados -p $poolname bench 1 write -t 1 &
+ done
+ wait
+done \ No newline at end of file
diff --git a/src/test/memuse/test_written_pool_memuse_tcmalloc.sh b/src/test/memuse/test_written_pool_memuse_tcmalloc.sh
new file mode 100755
index 000000000..3453aabdd
--- /dev/null
+++ b/src/test/memuse/test_written_pool_memuse_tcmalloc.sh
@@ -0,0 +1,54 @@
+#!/bin/sh -x
+
+set -e
+
+num_osd=$2
+maxosd=$((num_osd-1))
+
+eval "rm out/*.heap" || echo "no heap dumps to rm"
+
+mkdir -p out/pg_stable
+for osd_num in `seq 0 $maxosd`; do
+ ./ceph osd tell $osd_num heapdump
+ sleep 1
+ eval "mv out/*.heap out/pg_stable"
+done
+
+
+for i in `seq 0 $1`; do
+ for j in `seq 0 9`; do
+ poolnum=$((i*10+j))
+ poolname="pool$poolnum"
+ ./rados -p $poolname bench 1 write -t 1 &
+ done
+ wait
+done
+
+eval "rm out/*.heap" || echo "no heap dumps to rm"
+mkdir out/one_write
+
+for osd_num in `seq 0 $maxosd`; do
+ ./ceph osd tell $osd_num heapdump
+ sleep 1
+ eval "mv out/*.heap out/one_write"
+done
+
+
+for i in `seq 0 $1`; do
+ for j in `seq 0 9`; do
+ poolnum=$((i*10+j))
+ poolname="pool$poolnum"
+ ./rados -p $poolname bench 1 write -t 4 &
+ done
+ wait
+done
+
+eval "rm out/*.heap"
+mkdir out/five_writes
+
+for osd_num in `seq 0 $maxosd`; do
+ ./ceph osd tell $osd_num heapdump
+ sleep 1
+ eval "mv out/*.heap out/five_writes"
+done
+