Vladimir Sementsov-Ogievskiy
8c8407fe45
simplebench/bench-backup: add --drop-caches argument
...
Add an option to drop caches before each test run. It may probably
improve reliability of results when testing in cached mode.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
8fa4ee1b00
simplebench/bench-backup: add --count and --no-initial-run
...
Add arguments to set number of test runs per table cell and to disable
initial run that is not counted in results.
It's convenient to set --count 1 --no-initial-run to fast run test
onece, and to set --count to some large enough number for good
precision of the results.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
0dc9f816d4
simplebench/bench-backup: support qcow2 source files
...
Add support for qcow2 source. New option says to use test-source.qcow2
instead of test-source. Of course, test-source.qcow2 should be
precreated.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: John Snow <jsnow@redhat.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
4ad7a5c065
simplebench/bench_block_job: handle error in BLOCK_JOB_COMPLETED
...
We should not report success if there is an error in final event.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: John Snow <jsnow@redhat.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
684d18efd1
simplebench/bench-backup: add target-cache argument
...
Allow benchmark with different kinds of target cache.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: John Snow <jsnow@redhat.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
af2ac8514f
simplebench/bench-backup: add --compressed option
...
Allow bench compressed backup.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
27eacb390e
simplebench: bench_one(): support count=1
...
statistics.stdev raises if sequence length is less than two. Support
that case by hand.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: John Snow <jsnow@redhat.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
dab346986e
simplebench: bench_one(): add slow_limit argument
...
Sometimes one of cells in a testing table runs too slow. And we really
don't want to wait so long. Limit number of runs in this case.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
2021-05-04 11:37:26 +03:00
Vladimir Sementsov-Ogievskiy
c701f59253
simplebench: add bench-backup.py
...
Add script to benchmark new backup architecture.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20210116214705.822267-24-vsementsov@virtuozzo.com >
[mreitz: s/not unsupported/not supported/]
Signed-off-by: Max Reitz <mreitz@redhat.com >
2021-01-26 14:36:37 +01:00
Vladimir Sementsov-Ogievskiy
b2fcb0c575
simplebench: bench_block_job: add cmd_options argument
...
Add argument to allow additional block-job options.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Message-Id: <20210116214705.822267-23-vsementsov@virtuozzo.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2021-01-26 14:36:37 +01:00
Vladimir Sementsov-Ogievskiy
2096de521e
simplebench/bench_block_job: use correct shebang line with python3
...
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Message-Id: <20210116214705.822267-22-vsementsov@virtuozzo.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2021-01-26 14:36:37 +01:00
Vladimir Sementsov-Ogievskiy
cff6d3ca43
scripts/simplebench: add bench_prealloc.py
...
Benchmark for new preallocate filter.
Example usage:
./bench_prealloc.py ../../build/qemu-img \
ssd-ext4:/path/to/mount/point \
ssd-xfs:/path2 hdd-ext4:/path3 hdd-xfs:/path4
The benchmark shows performance improvement (or degradation) when use
new preallocate filter with qcow2 image.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-22-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
181f60c8c7
simplebench/results_to_text: make executable
...
Make results_to_text a tool to dump results saved in JSON file.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-21-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
aa362403f4
simplebench/results_to_text: add difference line to the table
...
Performance improvements / degradations are usually discussed in
percentage. Let's make the script calculate it for us.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-20-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
[mreitz: 'seconds' instead of 'secs']
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
96be1aeec7
simplebench/results_to_text: improve view of the table
...
Move to generic format for floats and percentage for error.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-19-vsementsov@virtuozzo.com >
Acked-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
8e979febb0
simplebench: move results_to_text() into separate file
...
Let's keep view part in separate: this way it's better to improve it in
the following commits.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-18-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
bfccfa62ac
simplebench: rename ascii() to results_to_text()
...
Next patch will use utf8 plus-minus symbol, let's use more generic (and
more readable) name.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-17-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
f52e1af0b0
scripts/simplebench: use standard deviation for +- error
...
Standard deviation is more usual to see after +- than current maximum
of deviations.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-16-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
4a44554a65
scripts/simplebench: support iops
...
Support benchmarks returning not seconds but iops. We'll use it for
further new test.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-15-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Vladimir Sementsov-Ogievskiy
270124e7ef
scripts/simplebench: fix grammar: s/successed/succeeded/
...
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <20201021145859.11201-14-vsementsov@virtuozzo.com >
Reviewed-by: Max Reitz <mreitz@redhat.com >
Signed-off-by: Max Reitz <mreitz@redhat.com >
2020-12-18 12:35:55 +01:00
Andrey Shinkevich
1b7306f5dd
scripts/simplebench: compare write request performance
...
The script 'bench_write_req.py' allows comparing performances of write
request for two qemu-img binary files.
An example with (qemu-img binary 1) and without (qemu-img binary 2) the
applied patch "qcow2: skip writing zero buffers to empty COW areas"
(git commit ID: c8bb23cbdb
) has the following results:
SSD:
---------------- ------------------- -------------------
<qemu-img binary 1> <qemu-img binary 2>
<cluster front> 0.10 +- 0.00 8.16 +- 0.65
<cluster middle> 0.10 +- 0.00 7.37 +- 1.10
<cross cluster> 7.40 +- 1.08 21.97 +- 4.19
<cluster 64K> 2.14 +- 0.94 8.48 +- 1.66
---------------- ------------------- -------------------
HDD:
---------------- ------------------- -------------------
<qemu-img binary 1> <qemu-img binary 2>
<cluster front> 2.30 +- 0.01 6.19 +- 0.06
<cluster middle> 2.20 +- 0.09 6.20 +- 0.06
<cross cluster> 8.32 +- 0.16 8.26 +- 0.14
<cluster 64K> 8.20 +- 0.05 6.26 +- 0.10
---------------- ------------------- -------------------
Suggested-by: Denis V. Lunev <den@openvz.org >
Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com >
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Message-Id: <1594741846-475697-1-git-send-email-andrey.shinkevich@virtuozzo.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-18 14:00:32 -04:00
Vladimir Sementsov-Ogievskiy
28c4992adf
scripts/simplebench: add example usage of simplebench
...
This example may be used as a template for custom benchmark.
It illustrates three things to prepare:
- define bench_func
- define test environments (columns)
- define test cases (rows)
And final call of simplebench API.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <20200228071914.11746-4-vsementsov@virtuozzo.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-03-17 21:09:26 -04:00
Vladimir Sementsov-Ogievskiy
3e36da64b8
scripts/simplebench: add qemu/bench_block_job.py
...
Add block-job benchmarking helper functions.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <20200228071914.11746-3-vsementsov@virtuozzo.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-03-17 21:09:26 -04:00
Vladimir Sementsov-Ogievskiy
7cc8e0a545
scripts/simplebench: add simplebench.py
...
Add simple benchmark table creator.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com >
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com >
Message-Id: <20200228071914.11746-2-vsementsov@virtuozzo.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-03-17 21:09:26 -04:00