]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/crimson-rados: Introduce performance testing
authorMatan Breizman <mbreizma@redhat.com>
Thu, 9 Mar 2023 13:42:54 +0000 (13:42 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Tue, 4 Jul 2023 11:42:34 +0000 (11:42 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
29 files changed:
qa/suites/crimson-rados/perf/% [new file with mode: 0644]
qa/suites/crimson-rados/perf/.qa [new symlink]
qa/suites/crimson-rados/perf/centos_latest.yaml [new symlink]
qa/suites/crimson-rados/perf/clusters/+ [new file with mode: 0644]
qa/suites/crimson-rados/perf/clusters/.qa [new symlink]
qa/suites/crimson-rados/perf/clusters/fixed-2.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/clusters/openstack.yaml.disabled [new file with mode: 0644]
qa/suites/crimson-rados/perf/crimson_qa_overrides.yaml [new symlink]
qa/suites/crimson-rados/perf/deploy/.qa [new symlink]
qa/suites/crimson-rados/perf/deploy/ceph.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/deploy/cephadm.yaml.disabled [new file with mode: 0644]
qa/suites/crimson-rados/perf/objectstore/.qa [new symlink]
qa/suites/crimson-rados/perf/objectstore/bluestore.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/settings/.qa [new symlink]
qa/suites/crimson-rados/perf/settings/optimized.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/.qa [new symlink]
qa/suites/crimson-rados/perf/workloads/fio_4K_rand_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/fio_4K_rand_rw.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/fio_4M_rand_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/fio_4M_rand_rw.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/fio_4M_rand_write.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_4K_rand_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_4K_seq_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_4M_rand_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_4M_seq_read.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_4M_write.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/radosbench_omap_write.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/sample_fio.yaml [new file with mode: 0644]
qa/suites/crimson-rados/perf/workloads/sample_radosbench.yaml [new file with mode: 0644]

diff --git a/qa/suites/crimson-rados/perf/% b/qa/suites/crimson-rados/perf/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/crimson-rados/perf/.qa b/qa/suites/crimson-rados/perf/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/centos_latest.yaml b/qa/suites/crimson-rados/perf/centos_latest.yaml
new file mode 120000 (symlink)
index 0000000..bd9854e
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/supported/centos_latest.yaml
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/clusters/+ b/qa/suites/crimson-rados/perf/clusters/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/crimson-rados/perf/clusters/.qa b/qa/suites/crimson-rados/perf/clusters/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/clusters/fixed-2.yaml b/qa/suites/crimson-rados/perf/clusters/fixed-2.yaml
new file mode 100644 (file)
index 0000000..8ab2f22
--- /dev/null
@@ -0,0 +1,14 @@
+roles:
+- [mon.a, mgr.x, osd.0, osd.1, osd.2, client.0]
+overrides:
+  ceph:
+    conf:
+      osd:
+        osd shutdown pgref assert: true
+      global:
+        ms cluster mode: crc
+        ms service mode: crc
+        ms client mode: crc
+        ms mon service mode: crc
+        ms mon cluster mode: crc
+        ms mon client mode: crc
diff --git a/qa/suites/crimson-rados/perf/clusters/openstack.yaml.disabled b/qa/suites/crimson-rados/perf/clusters/openstack.yaml.disabled
new file mode 100644 (file)
index 0000000..e559d91
--- /dev/null
@@ -0,0 +1,4 @@
+openstack:
+  - volumes: # attached to each instance
+      count: 4
+      size: 10 # GB
diff --git a/qa/suites/crimson-rados/perf/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/perf/crimson_qa_overrides.yaml
new file mode 120000 (symlink)
index 0000000..2bf67af
--- /dev/null
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/deploy/.qa b/qa/suites/crimson-rados/perf/deploy/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/deploy/ceph.yaml b/qa/suites/crimson-rados/perf/deploy/ceph.yaml
new file mode 100644 (file)
index 0000000..0f60219
--- /dev/null
@@ -0,0 +1,12 @@
+overrides:
+  install:
+    ceph:
+      flavor: crimson
+tasks:
+- install:
+- ceph:
+    wait-for-scrub: false
+    conf:
+      osd:
+        debug monc: 20
+    flavor: crimson
diff --git a/qa/suites/crimson-rados/perf/deploy/cephadm.yaml.disabled b/qa/suites/crimson-rados/perf/deploy/cephadm.yaml.disabled
new file mode 100644 (file)
index 0000000..0c20622
--- /dev/null
@@ -0,0 +1,16 @@
+# no need to verify os + flavor + sha1
+verify_ceph_hash: false
+tasks:
+- cephadm:
+    conf:
+      mgr:
+        debug ms: 1
+        debug mgr: 20
+        debug osd: 10
+- cephadm.shell:
+    mon.a:
+      - ceph orch status
+      - ceph orch ps
+      - ceph orch ls
+      - ceph orch host ls
+      - ceph orch device ls
diff --git a/qa/suites/crimson-rados/perf/objectstore/.qa b/qa/suites/crimson-rados/perf/objectstore/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/objectstore/bluestore.yaml b/qa/suites/crimson-rados/perf/objectstore/bluestore.yaml
new file mode 100644 (file)
index 0000000..99c532f
--- /dev/null
@@ -0,0 +1,23 @@
+overrides:
+  ceph:
+    fs: xfs
+    conf:
+      osd:
+        osd objectstore: bluestore
+        bluestore block size: 96636764160
+        debug bluestore: 20
+        debug bluefs: 20
+        debug rocksdb: 10
+        bluestore compression mode: aggressive
+        bluestore fsck on mount: true
+        bluestore compression algorithm: snappy
+        # lower the full ratios since we can fill up a 100gb osd so quickly
+        mon osd full ratio: .9
+        mon osd backfillfull_ratio: .85
+        mon osd nearfull ratio: .8
+        osd failsafe full ratio: .95
+        bluestore rocksdb cf: false
+        log to stderr: true
+        err to stderr: true
+        log flush on exit: true
+        log to file: false
diff --git a/qa/suites/crimson-rados/perf/settings/.qa b/qa/suites/crimson-rados/perf/settings/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/settings/optimized.yaml b/qa/suites/crimson-rados/perf/settings/optimized.yaml
new file mode 100644 (file)
index 0000000..dc4dcbb
--- /dev/null
@@ -0,0 +1,74 @@
+overrides:
+  ceph:
+    conf:
+      mon:
+        debug mon: "0/0"
+        debug ms: "0/0"
+        debug paxos: "0/0"
+      osd:
+        debug filestore: "0/0"
+        debug journal: "0/0"
+        debug ms: "0/0"
+        debug osd: "0/0"
+      global:
+        auth client required: none
+        auth cluster required: none
+        auth service required: none
+        auth supported: none
+
+        debug lockdep: "0/0"
+        debug context: "0/0"
+        debug crush: "0/0"
+        debug mds: "0/0"
+        debug mds balancer: "0/0"
+        debug mds locker: "0/0"
+        debug mds log: "0/0"
+        debug mds log expire: "0/0"
+        debug mds migrator: "0/0"
+        debug buffer: "0/0"
+        debug timer: "0/0"
+        debug filer: "0/0"
+        debug striper: "0/0"
+        debug objecter: "0/0"
+        debug rados: "0/0"
+        debug rbd: "0/0"
+        debug rbd mirror: "0/0"
+        debug rbd replay: "0/0"
+        debug journaler: "0/0"
+        debug objectcacher: "0/0"
+        debug client: "0/0"
+        debug osd: "0/0"
+        debug optracker: "0/0"
+        debug objclass: "0/0"
+        debug filestore: "0/0"
+        debug journal: "0/0"
+        debug ms: "0/0"
+        debug mon: "0/0"
+        debug monc: "0/0"
+        debug paxos: "0/0"
+        debug tp: "0/0"
+        debug auth: "0/0"
+        debug crypto: "0/0"
+        debug finisher: "0/0"
+        debug heartbeatmap: "0/0"
+        debug perfcounter: "0/0"
+        debug rgw: "0/0"
+        debug rgw sync: "0/0"
+        debug civetweb: "0/0"
+        debug javaclient: "0/0"
+        debug asok: "0/0"
+        debug throttle: "0/0"
+        debug refs: "0/0"
+        debug compressor: "0/0"
+        debug bluestore: "0/0"
+        debug bluefs: "0/0"
+        debug bdev: "0/0"
+        debug kstore: "0/0"
+        debug rocksdb: "0/0"
+        debug leveldb: "0/0"
+        debug memdb: "0/0"
+        debug fuse: "0/0"
+        debug mgr: "0/0"
+        debug mgrc: "0/0"
+        debug dpdk: "0/0"
+        debug eventtrace: "0/0"
diff --git a/qa/suites/crimson-rados/perf/workloads/.qa b/qa/suites/crimson-rados/perf/workloads/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -0,0 +1 @@
+../.qa/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/perf/workloads/fio_4K_rand_read.yaml b/qa/suites/crimson-rados/perf/workloads/fio_4K_rand_read.yaml
new file mode 100644 (file)
index 0000000..d5ef33a
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4096]
+        time: 60
+        mode: ['randread']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/fio_4K_rand_rw.yaml b/qa/suites/crimson-rados/perf/workloads/fio_4K_rand_rw.yaml
new file mode 100644 (file)
index 0000000..14d43f1
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4096]
+        time: 60
+        mode: ['randrw']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_read.yaml b/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_read.yaml
new file mode 100644 (file)
index 0000000..b074322
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4194304]
+        time: 60
+        mode: ['randread']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_rw.yaml b/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_rw.yaml
new file mode 100644 (file)
index 0000000..5fd6e28
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4194304]
+        time: 60
+        mode: ['randrw']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_write.yaml b/qa/suites/crimson-rados/perf/workloads/fio_4M_rand_write.yaml
new file mode 100644 (file)
index 0000000..2d9d836
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4194304]
+        time: 60
+        mode: ['randwrite']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_4K_rand_read.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_4K_rand_read.yaml
new file mode 100644 (file)
index 0000000..f1de9b4
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4096]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: false
+        readmode: 'rand'
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_4K_seq_read.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_4K_seq_read.yaml
new file mode 100644 (file)
index 0000000..8fb204a
--- /dev/null
@@ -0,0 +1,23 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4096]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: false
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_4M_rand_read.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_4M_rand_read.yaml
new file mode 100644 (file)
index 0000000..cc1c744
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4194304]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: false
+        readmode: 'rand'
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_4M_seq_read.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_4M_seq_read.yaml
new file mode 100644 (file)
index 0000000..3ab55cf
--- /dev/null
@@ -0,0 +1,23 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4194304]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: false
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_4M_write.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_4M_write.yaml
new file mode 100644 (file)
index 0000000..f6a5d71
--- /dev/null
@@ -0,0 +1,23 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4194304]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: true
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'
diff --git a/qa/suites/crimson-rados/perf/workloads/radosbench_omap_write.yaml b/qa/suites/crimson-rados/perf/workloads/radosbench_omap_write.yaml
new file mode 100644 (file)
index 0000000..5df4674
--- /dev/null
@@ -0,0 +1,7 @@
+tasks:
+- radosbench:
+    clients: [client.0]
+    write-omap: True
+    objectsize: 4096
+    size: 4096
+    time: 300
diff --git a/qa/suites/crimson-rados/perf/workloads/sample_fio.yaml b/qa/suites/crimson-rados/perf/workloads/sample_fio.yaml
new file mode 100644 (file)
index 0000000..9841139
--- /dev/null
@@ -0,0 +1,24 @@
+tasks:
+- cbt:
+    benchmarks:
+      librbdfio:
+        op_size: [4096]
+        time: 60
+        mode: ['randwrite']
+        norandommap: True
+        vol_size: 4096
+        procs_per_volume: [1]
+        volumes_per_client: [2]
+        iodepth: [32]
+        osd_ra: [4096]
+        pool_profile: 'rbd'
+        log_avg_msec: 100
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        rbd:
+          pg_size: 128
+          pgp_size: 128
+          replication: 3
diff --git a/qa/suites/crimson-rados/perf/workloads/sample_radosbench.yaml b/qa/suites/crimson-rados/perf/workloads/sample_radosbench.yaml
new file mode 100644 (file)
index 0000000..e3dc47a
--- /dev/null
@@ -0,0 +1,23 @@
+tasks:
+- cbt:
+    benchmarks:
+      radosbench:
+        concurrent_ops: 4
+        concurrent_procs: 2
+        op_size: [4096]
+        pool_monitoring_list:
+        - collectl
+        pool_profile: 'replicated'
+        run_monitoring_list:
+        - collectl
+        time: 60
+        write_only: true
+    cluster:
+      user: 'ubuntu'
+      osds_per_node: 3
+      iterations: 1
+      pool_profiles:
+        replicated:
+          pg_size: 256
+          pgp_size: 256
+          replication: 'replicated'