Skip to content
Snippets Groups Projects
Commit 938810c9 authored by Vikram Auradkar's avatar Vikram Auradkar Committed by CQ bot account: commit-bot@chromium.org
Browse files

[Odu] IO benchmarking utility

This is first cut to keep review rolling. The patch allows me to
incorporate feedback from review as I keep working on the tool.
There are plenty of TODOs that might serve as a hint to reviewers
what I intend to do in the future, There are codes that look noop
which I have retained because it makes testing easier.
The current version parses only one argument (a file name) and
runs load for few seconds or a minute at max.

When run - output looks like this.
$ odu /tmp/f
===== Aggregate Stats =====
Runtime:50.15060829s IOs:303 write_size(MB):62.40
IOPS:4.79 LAT(us):208579.46 BW(MB/s):0.98

If I print thread specific stats and stage stats the output would look
like

$ odu /tmp/e
===== For generator-0 =====
Generate TimeInStage:344791630 IOPS:292.93 LAT(us):3413.78
BW(MB/s):58.01
Issue TimeInStage:24016252450 IOPS:4.21 LAT(us):237784.68 BW(MB/s):0.83
Verify TimeInStage:6253520 IOPS:16150.90 LAT(us):61.92 BW(MB/s):3198.20
Runtime:49.78938866s IOs:101 write_size(MB):20.80
IOPS:4.21 LAT(us):237784.68 BW(MB/s):0.83
===== For generator-1 =====
Generate TimeInStage:494067320 IOPS:204.43 LAT(us):4891.76
BW(MB/s):40.48
Issue TimeInStage:22197400730 IOPS:4.55 LAT(us):219776.24 BW(MB/s):0.90
Verify TimeInStage:1960320 IOPS:51522.20 LAT(us):19.41 BW(MB/s):10202.42
Runtime:52.46426601s IOs:101 write_size(MB):20.80
IOPS:4.55 LAT(us):219776.24 BW(MB/s):0.90
===== For generator-2 =====
Generate TimeInStage:634360370 IOPS:159.22 LAT(us):6280.80
BW(MB/s):31.53
Issue TimeInStage:24582622520 IOPS:4.11 LAT(us):243392.30 BW(MB/s):0.81
Verify TimeInStage:21145570 IOPS:4776.41 LAT(us):209.36 BW(MB/s):945.82
Runtime:48.96960358s IOs:101 write_size(MB):20.80
IOPS:4.11 LAT(us):243392.30 BW(MB/s):0.81
===== Aggregate Stats =====
Generate TimeInStage:1473219320 IOPS:205.67 LAT(us):4862.11
BW(MB/s):42.08
Issue TimeInStage:70796275700 IOPS:4.28 LAT(us):233651.07 BW(MB/s):0.88
Verify TimeInStage:29359410 IOPS:10320.37 LAT(us):96.90 BW(MB/s):2111.76
Runtime:52.47356284s IOs:303 write_size(MB):62.40
IOPS:4.28 LAT(us):233651.07 BW(MB/s):0.88

Utility saves the arguments to generator in a file called
"./output.confing" whose content may look like
[{"magic_number":5720826294568186926,"process_id":3,"name":"generator-0",
"generator_unique_id":0,"block_size":4096,"max_io_size":1048576,"align":
true,"seed":0,"target_name":"e","target_range":{"start":0,"end":6990506},
"target_type":"target_file","issuer_queue_depth":40,"max_io_count":100,
"sequential":true}...]

Test: fx run-test odu_tests -- --nocapture

Change-Id: I219379093dfef14a0979678ce2e34a76fc5b9bbf
parent 80664652
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment