aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhoujingwen <houjingwen@huawei.com>2015-08-25 16:40:22 +0800
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>2015-08-26 09:40:44 +0000
commit92c599e30571557bc3d5fc882b0bff0a88716db9 (patch)
treea217a3f56ce8ad4c117d2aa4718c2e15a51befcb
parent6a0f77e4b3879659d6cf538e914fde3901291713 (diff)
FIO support variable iodepth
FIO storage performance varification support variable iodepth. JIRA: YARDSTICK-119 Change-Id: Ib6af55c5fbcaa7727a7541b13053b5e4ce8d3203 Signed-off-by: houjingwen <houjingwen@huawei.com>
-rw-r--r--samples/fio.yaml10
-rw-r--r--yardstick/benchmark/scenarios/storage/fio.py13
2 files changed, 16 insertions, 7 deletions
diff --git a/samples/fio.yaml b/samples/fio.yaml
index f70912a15..be8222766 100644
--- a/samples/fio.yaml
+++ b/samples/fio.yaml
@@ -5,9 +5,10 @@
# For this sample just like running the command below on the test vm and
# getting benchmark info back to the yardstick.
#
-# sudo fio -filename=/home/ec2-user/data.raw -bs=4k -rw=write -ramp_time=10 \
-# -runtime=60 -name=yardstick-fio -ioengine=libaio -direct=1 \
-# -group_reporting -numjobs=1 -time_based --output=yardstick-fio.log
+# sudo fio -filename=/home/ec2-user/data.raw -bs=4k -ipdepth=1 -rw=write \
+# -ramp_time=10 -runtime=60 -name=yardstick-fio -ioengine=libaio \
+# -direct=1 -group_reporting -numjobs=1 -time_based \
+# --output=yardstick-fio.log
#
# When the above fio command done, the yardstick-fio.log file will contain
# information like below and the benchmark script will take iops, throughput
@@ -52,13 +53,14 @@ scenarios:
options:
filename: /home/ec2-user/data.raw
bs: 4k
+ iodepth: 1
rw: write
ramp_time: 10
host: fio.demo
runner:
type: Duration
duration: 60
- interval: 60
+ interval: 1
context:
name: demo
diff --git a/yardstick/benchmark/scenarios/storage/fio.py b/yardstick/benchmark/scenarios/storage/fio.py
index a39af06aa..4eaf8796a 100644
--- a/yardstick/benchmark/scenarios/storage/fio.py
+++ b/yardstick/benchmark/scenarios/storage/fio.py
@@ -29,6 +29,10 @@ class Fio(base.Scenario):
type: int
unit: bytes
default: 4k
+ iodepth - number of iobuffers to keep in flight
+ type: int
+ unit: na
+ default: 1
rw - type of io pattern [read, write, randwrite, randread, rw, randrw]
type: string
unit: na
@@ -79,6 +83,7 @@ class Fio(base.Scenario):
options = args["options"]
filename = options.get("filename", "/home/ec2-user/data.raw")
bs = options.get("bs", "4k")
+ iodepth = options.get("iodepth", "1")
rw = options.get("rw", "write")
ramp_time = options.get("ramp_time", 20)
name = "yardstick-fio"
@@ -93,10 +98,11 @@ class Fio(base.Scenario):
else:
runtime = 30
- args = "-filename=%s -bs=%s -rw=%s -ramp_time=%s -runtime=%s -name=%s" \
- % (filename, bs, rw, ramp_time, runtime, name)
+ args = "-filename=%s -bs=%s -iodepth=%s -rw=%s -ramp_time=%s " \
+ "-runtime=%s -name=%s" \
+ % (filename, bs, iodepth, rw, ramp_time, runtime, name)
cmd = "sudo bash fio.sh %s %s %s" \
- % (filename, args, default_args)
+ % (filename, args, default_args)
LOG.debug("Executing command: %s", cmd)
status, stdout, stderr = self.client.execute(cmd)
if status:
@@ -127,6 +133,7 @@ def _test():
options = {
"filename": "/home/ec2-user/data.raw",
"bs": "4k",
+ "iodepth": "1",
"rw": "write",
"ramp_time": 10,
}