fixes
diff --git a/wally/suits/io/ceph.cfg b/wally/suits/io/ceph.cfg
index 7a84872..9e98dd6 100644
--- a/wally/suits/io/ceph.cfg
+++ b/wally/suits/io/ceph.cfg
@@ -8,8 +8,7 @@
filename={FILENAME}
NUM_ROUNDS=7
-NUMJOBS_LARGE={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
-NUMJOBS_NORM={% 1, 5, 10, 15, 20, 30, 40 %}
+NUMJOBS={% 1, 5, 10, 15, 20, 30, 40 %}
NUMJOBS_SHORT={% 1, 5, 10 %}
size=30G
@@ -23,7 +22,7 @@
blocksize=4k
rw=randwrite
sync=1
-numjobs={NUMJOBS_NORM}
+numjobs={NUMJOBS}
# ---------------------------------------------------------------------
# direct write
@@ -42,23 +41,15 @@
blocksize=4k
rw=randread
direct=1
-numjobs={NUMJOBS_NORM}
+numjobs={NUMJOBS}
# ---------------------------------------------------------------------
-# this is essentially sequential read openration
-# we can't use seq read with numjobs > 1 on clouds due to caching
+# this is essentially sequential write/read operations
+# we can't use sequential with numjobs > 1 due to caching and block merging
# ---------------------------------------------------------------------
[ceph_test_{TEST_SUMM} * {NUM_ROUNDS}]
blocksize=16m
-rw=randread
+rw={% randread, randwrite %}
direct=1
numjobs={NUMJOBS_SHORT}
-# ---------------------------------------------------------------------
-# sequential write
-# ---------------------------------------------------------------------
-[ceph_test_{TEST_SUMM} * {NUM_ROUNDS}]
-blocksize=1m
-rw=write
-direct=1
-numjobs={NUMJOBS_NORM}
diff --git a/wally/suits/io/check_distribution.cfg b/wally/suits/io/check_distribution.cfg
index 6ba3f9f..d08e52b 100644
--- a/wally/suits/io/check_distribution.cfg
+++ b/wally/suits/io/check_distribution.cfg
@@ -1,3 +1,6 @@
+[defaults]
+NUM_ROUNDS=301
+
[distrubution_test_{TEST_SUMM} * {NUM_ROUNDS}]
blocksize=4k
rw=randwrite
@@ -7,7 +10,7 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=10Gb
+size=10G
time_based
runtime=30
group_reporting
diff --git a/wally/suits/io/check_linearity.cfg b/wally/suits/io/check_linearity.cfg
index 4017cf3..a75d937 100644
--- a/wally/suits/io/check_linearity.cfg
+++ b/wally/suits/io/check_linearity.cfg
@@ -6,7 +6,7 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=10Gb
+size=10G
time_based
runtime=30
diff --git a/wally/suits/io/check_th_count.cfg b/wally/suits/io/check_th_count.cfg
index 3d57154..3f9dd19 100644
--- a/wally/suits/io/check_th_count.cfg
+++ b/wally/suits/io/check_th_count.cfg
@@ -5,7 +5,7 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=10Gb
+size=10G
time_based
runtime=30
group_reporting
diff --git a/wally/suits/io/check_warmup.cfg b/wally/suits/io/check_warmup.cfg
index 6a9c622..37ee083 100644
--- a/wally/suits/io/check_warmup.cfg
+++ b/wally/suits/io/check_warmup.cfg
@@ -6,7 +6,7 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=10Gb
+size=10G
time_based
runtime=30
diff --git a/wally/suits/io/formatter.py b/wally/suits/io/formatter.py
index 63c9408..7fbe70b 100644
--- a/wally/suits/io/formatter.py
+++ b/wally/suits/io/formatter.py
@@ -19,13 +19,15 @@
create a table with io performance report
for console
"""
- tab = texttable.Texttable()
+ tab = texttable.Texttable(max_width=120)
tab.set_deco(tab.HEADER | tab.VLINES | tab.BORDER)
- tab.set_cols_align(["l", "r", "r", "r", "r"])
+ tab.set_cols_align(["l", "r", "r", "r", "r", "r", "r"])
prev_k = None
-
+ vm_count = test_set['__test_meta__']['testnodes_count']
items = sorted(test_set['res'].items(), key=key_func)
+ header = ["Description", "iops\ncum", "KiBps\ncum",
+ "iops\nper vm", "KiBps\nper vm", "Cnf\n%", "lat\nms"]
for test_name, data in items:
@@ -33,7 +35,9 @@
if prev_k is not None:
if prev_k != curr_k:
- tab.add_row(["---"] * 5)
+ tab.add_row(
+ ["--------", "-----", "------",
+ "-----", "------", "---", "-----"])
prev_k = curr_k
@@ -54,12 +58,14 @@
iops = round_3_digit(iops)
bw = round_3_digit(bw)
+ iops_cum = round_3_digit(iops * vm_count)
+ bw_cum = round_3_digit(bw * vm_count)
med_lat = round_3_digit(med_lat)
- params = (descr, int(iops), int(bw), dev_perc, med_lat)
+ params = (descr, int(iops_cum), int(bw_cum),
+ int(iops), int(bw), dev_perc, med_lat)
tab.add_row(params)
- header = ["Description", "IOPS", "BW KiBps", "Dev * 3 %", "clat ms"]
tab.header(header)
return tab.draw()
diff --git a/wally/suits/io/hdd.cfg b/wally/suits/io/hdd.cfg
index 519fb0f..07e45e9 100644
--- a/wally/suits/io/hdd.cfg
+++ b/wally/suits/io/hdd.cfg
@@ -7,7 +7,7 @@
softrandommap=1
filename={FILENAME}
NUM_ROUNDS=7
-NUMJOBS={% 1, 5, 10, 15, 20, 30, 40, 80, 120 %}
+NUMJOBS={% 1, 5, 10, 15, 20, 30, 40, 80 %}
size=10G
ramp_time=5
diff --git a/wally/suits/io/long_test.cfg b/wally/suits/io/long_test.cfg
index 4b0a79d..a59c360 100644
--- a/wally/suits/io/long_test.cfg
+++ b/wally/suits/io/long_test.cfg
@@ -8,7 +8,7 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=50Gb
+size=50G
time_based
runtime=300
diff --git a/wally/suits/io/vm_count_ec2.cfg b/wally/suits/io/vm_count_ec2.cfg
index 19c9e50..c132039 100644
--- a/wally/suits/io/vm_count_ec2.cfg
+++ b/wally/suits/io/vm_count_ec2.cfg
@@ -5,12 +5,13 @@
wait_for_previous
filename={FILENAME}
iodepth=1
-size=10Gb
+size=10G
time_based
runtime=30
group_reporting
rate={BW_LIMIT}
rate_iops={IOPS_LIMIT}
+NUMJOBS={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
# ---------------------------------------------------------------------
# check different thread count. (latency, bw) = func(th_count)
@@ -19,11 +20,11 @@
blocksize={% 4k, 1m %}
rw={% randwrite, randread %}
direct=1
-numjobs={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
+numjobs={NUMJOBS}
[vm_count_{TEST_SUMM} * {NUM_ROUNDS}]
blocksize={% 4k, 1m %}
rw=randwrite
direct=0
sync=1
-numjobs={% 1, 2, 5, 10, 15, 20, 25, 30, 35, 40 %}
+numjobs={NUMJOBS}