From 92c599e30571557bc3d5fc882b0bff0a88716db9 Mon Sep 17 00:00:00 2001 From: houjingwen Date: Tue, 25 Aug 2015 16:40:22 +0800 Subject: FIO support variable iodepth FIO storage performance varification support variable iodepth. JIRA: YARDSTICK-119 Change-Id: Ib6af55c5fbcaa7727a7541b13053b5e4ce8d3203 Signed-off-by: houjingwen --- samples/fio.yaml | 10 ++++++---- yardstick/benchmark/scenarios/storage/fio.py | 13 ++++++++++--- 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, } -- cgit 1.2.3-korg