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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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