python/bench-example.py | 80 +++++++++++++++++++++ python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ 3 files changed, 323 insertions(+) create mode 100644 python/bench-example.py create mode 100755 python/qemu/bench_block_job.py create mode 100644 python/simplebench.py
Hi all! Here is simple benchmarking utility, to generate performance comparison tables, like the following: ---------- ------------- ------------- ------------- backup-1 backup-2 mirror ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 ---------- ------------- ------------- ------------- This is a v2, as v1 was inside "[RFC 00/24] backup performance: block_status + async" I'll use this benchmark in other series, hope someone will like it. Vladimir Sementsov-Ogievskiy (3): python: add simplebench.py python: add qemu/bench_block_job.py python: add example usage of simplebench python/bench-example.py | 80 +++++++++++++++++++++ python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ 3 files changed, 323 insertions(+) create mode 100644 python/bench-example.py create mode 100755 python/qemu/bench_block_job.py create mode 100644 python/simplebench.py -- 2.18.0
On Tue, Nov 26, 2019 at 06:48:45PM +0300, Vladimir Sementsov-Ogievskiy wrote: > Hi all! > > Here is simple benchmarking utility, to generate performance > comparison tables, like the following: > > ---------- ------------- ------------- ------------- > backup-1 backup-2 mirror > ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 > ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 > ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 > ---------- ------------- ------------- ------------- > > This is a v2, as v1 was inside > "[RFC 00/24] backup performance: block_status + async" > > I'll use this benchmark in other series, hope someone > will like it. > > Vladimir Sementsov-Ogievskiy (3): > python: add simplebench.py > python: add qemu/bench_block_job.py > python: add example usage of simplebench > > python/bench-example.py | 80 +++++++++++++++++++++ > python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ > python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ > 3 files changed, 323 insertions(+) > create mode 100644 python/bench-example.py > create mode 100755 python/qemu/bench_block_job.py > create mode 100644 python/simplebench.py > > -- > 2.18.0 > Hi Vladimir, This looks interesting. Do you think the execution of "test cases" in an "environment" are a generic enough concept that could be reused (or reuse other system)? My point is that it'd be nice to do the same thing say for the acceptance tests, or any tests for that matter. For instance, for known parameters, we could record what's the time difference between booting a guest with q35 or pc machine types and virtio-block or virtio-scsi devices. BTW, This reminded me of a IOzone[1] test runner / results analyzer: https://github.com/avocado-framework-tests/avocado-misc-tests/blob/master/io/disk/iozone.py I'm also cc'ing Lukáš Doktor, who has actively worked in something similar. Cheers, - Cleber.
06.12.2019 22:43, Cleber Rosa wrote: > On Tue, Nov 26, 2019 at 06:48:45PM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Hi all! >> >> Here is simple benchmarking utility, to generate performance >> comparison tables, like the following: >> >> ---------- ------------- ------------- ------------- >> backup-1 backup-2 mirror >> ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 >> ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 >> ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 >> ---------- ------------- ------------- ------------- >> >> This is a v2, as v1 was inside >> "[RFC 00/24] backup performance: block_status + async" >> >> I'll use this benchmark in other series, hope someone >> will like it. >> >> Vladimir Sementsov-Ogievskiy (3): >> python: add simplebench.py >> python: add qemu/bench_block_job.py >> python: add example usage of simplebench >> >> python/bench-example.py | 80 +++++++++++++++++++++ >> python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ >> python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ >> 3 files changed, 323 insertions(+) >> create mode 100644 python/bench-example.py >> create mode 100755 python/qemu/bench_block_job.py >> create mode 100644 python/simplebench.py >> >> -- >> 2.18.0 >> > > Hi Vladimir, > > This looks interesting. > > Do you think the execution of "test cases" in an "environment" are a > generic enough concept that could be reused (or reuse other system)? that was my goal: to make something generic enough, but simple. Yes, it can be reused for anything > My point is that it'd be nice to do the same thing say for the > acceptance tests, or any tests for that matter. For instance, for > known parameters, we could record what's the time difference between > booting a guest with q35 or pc machine types and virtio-block or > virtio-scsi devices. > > BTW, This reminded me of a IOzone[1] test runner / results analyzer: > > https://github.com/avocado-framework-tests/avocado-misc-tests/blob/master/io/disk/iozone.py > > I'm also cc'ing Lukáš Doktor, who has actively worked in something > similar. > > Cheers, > - Cleber. > -- Best regards, Vladimir
On Tue, Nov 26, 2019 at 4:49 PM Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> wrote: > > Hi all! > > Here is simple benchmarking utility, to generate performance > comparison tables, like the following: > > ---------- ------------- ------------- ------------- > backup-1 backup-2 mirror > ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 > ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 > ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 > ---------- ------------- ------------- ------------- > > This is a v2, as v1 was inside > "[RFC 00/24] backup performance: block_status + async" > > I'll use this benchmark in other series, hope someone > will like it. > Vladimir, I really like this idea, even though I am interested in benchmarks of different nature. Certainly a beautiful and handy tool for doing detection of performance regressions (and also confirmation of performance optimizations). Did you run the tool on the previous QEMU versions, to detect change in numbers between QEMU versions? Do you have the results of the same benchmark for QEMU 2.12, 3.0, 4.0,... ? What are units used in the table? Seconds, minutes? Hopefully, not hours? Yours, Aleksandar > Vladimir Sementsov-Ogievskiy (3): > python: add simplebench.py > python: add qemu/bench_block_job.py > python: add example usage of simplebench > > python/bench-example.py | 80 +++++++++++++++++++++ > python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ > python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ > 3 files changed, 323 insertions(+) > create mode 100644 python/bench-example.py > create mode 100755 python/qemu/bench_block_job.py > create mode 100644 python/simplebench.py > > -- > 2.18.0 > >
27.11.2019 22:58, Aleksandar Markovic wrote: > On Tue, Nov 26, 2019 at 4:49 PM Vladimir Sementsov-Ogievskiy > <vsementsov@virtuozzo.com> wrote: >> >> Hi all! >> >> Here is simple benchmarking utility, to generate performance >> comparison tables, like the following: >> >> ---------- ------------- ------------- ------------- >> backup-1 backup-2 mirror >> ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 >> ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 >> ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 >> ---------- ------------- ------------- ------------- >> >> This is a v2, as v1 was inside >> "[RFC 00/24] backup performance: block_status + async" >> >> I'll use this benchmark in other series, hope someone >> will like it. >> > > Vladimir, > > I really like this idea, even though I am interested in benchmarks of > different nature. Certainly a beautiful and handy tool for doing > detection of performance regressions (and also confirmation of > performance optimizations). Hi Aleksandar! Glad you are interested! > > Did you run the tool on the previous QEMU versions, to detect change > in numbers between QEMU versions? Do you have the results of the same > benchmark for QEMU 2.12, 3.0, 4.0,... ? No, I don't really interested in such comparisons, my goal is to measure backup performance in context of my backup/block-copy series. But such statistics may be simply generated, just make several git work-trees per release you interested in, fill test_envs variable (together with other variables) in python/bench-example.py (patch 03), and run it. > > What are units used in the table? Seconds, minutes? Hopefully, not hours? Seconds of course, I'm not so patient :) Also, if you are interested, 1000M raw images filled with ones used to make this benchmark table. However, it's in cover-letter only as example. backup-1 and mirror are upstream. backup-2 is our downstream. nbd gain of backup-2 is related to async requests. ssd gain for backup-1 is related to copy offloading (wow, it works!). > > Yours, > Aleksandar > >> Vladimir Sementsov-Ogievskiy (3): >> python: add simplebench.py >> python: add qemu/bench_block_job.py >> python: add example usage of simplebench >> >> python/bench-example.py | 80 +++++++++++++++++++++ >> python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ >> python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ >> 3 files changed, 323 insertions(+) >> create mode 100644 python/bench-example.py >> create mode 100755 python/qemu/bench_block_job.py >> create mode 100644 python/simplebench.py >> >> -- >> 2.18.0 >> >> -- Best regards, Vladimir
ping 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: > Hi all! > > Here is simple benchmarking utility, to generate performance > comparison tables, like the following: > > ---------- ------------- ------------- ------------- > backup-1 backup-2 mirror > ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 > ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 > ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 > ---------- ------------- ------------- ------------- > > This is a v2, as v1 was inside > "[RFC 00/24] backup performance: block_status + async" > > I'll use this benchmark in other series, hope someone > will like it. > > Vladimir Sementsov-Ogievskiy (3): > python: add simplebench.py > python: add qemu/bench_block_job.py > python: add example usage of simplebench > > python/bench-example.py | 80 +++++++++++++++++++++ > python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ > python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ > 3 files changed, 323 insertions(+) > create mode 100644 python/bench-example.py > create mode 100755 python/qemu/bench_block_job.py > create mode 100644 python/simplebench.py > -- Best regards, Vladimir
ping 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: > Hi all! > > Here is simple benchmarking utility, to generate performance > comparison tables, like the following: > > ---------- ------------- ------------- ------------- > backup-1 backup-2 mirror > ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 > ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 > ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 > ---------- ------------- ------------- ------------- > > This is a v2, as v1 was inside > "[RFC 00/24] backup performance: block_status + async" > > I'll use this benchmark in other series, hope someone > will like it. > > Vladimir Sementsov-Ogievskiy (3): > python: add simplebench.py > python: add qemu/bench_block_job.py > python: add example usage of simplebench > > python/bench-example.py | 80 +++++++++++++++++++++ > python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ > python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ > 3 files changed, 323 insertions(+) > create mode 100644 python/bench-example.py > create mode 100755 python/qemu/bench_block_job.py > create mode 100644 python/simplebench.py > -- Best regards, Vladimir
pingg.. Hi! Could it be merged at all? 20.01.2020 12:10, Vladimir Sementsov-Ogievskiy wrote: > ping > > 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: >> Hi all! >> >> Here is simple benchmarking utility, to generate performance >> comparison tables, like the following: >> >> ---------- ------------- ------------- ------------- >> backup-1 backup-2 mirror >> ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 >> ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 >> ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 >> ---------- ------------- ------------- ------------- >> >> This is a v2, as v1 was inside >> "[RFC 00/24] backup performance: block_status + async" >> >> I'll use this benchmark in other series, hope someone >> will like it. >> >> Vladimir Sementsov-Ogievskiy (3): >> python: add simplebench.py >> python: add qemu/bench_block_job.py >> python: add example usage of simplebench >> >> python/bench-example.py | 80 +++++++++++++++++++++ >> python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ >> python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ >> 3 files changed, 323 insertions(+) >> create mode 100644 python/bench-example.py >> create mode 100755 python/qemu/bench_block_job.py >> create mode 100644 python/simplebench.py >> > > -- Best regards, Vladimir
Hi! Is problem in "S: Odd fixes" in Python section of MAINTAINERS? Will it be correct, if I send a patch to MAINTAINERS, proposing myself as maintainer of Python scripts and s/Odd fixes/Maintained/ ? And then just send pull request with this series, as "nobody minds"? 08.02.2020 13:36, Vladimir Sementsov-Ogievskiy wrote: > pingg.. > > Hi! Could it be merged at all? > > 20.01.2020 12:10, Vladimir Sementsov-Ogievskiy wrote: >> ping >> >> 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: >>> Hi all! >>> >>> Here is simple benchmarking utility, to generate performance >>> comparison tables, like the following: >>> >>> ---------- ------------- ------------- ------------- >>> backup-1 backup-2 mirror >>> ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 >>> ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 >>> ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 >>> ---------- ------------- ------------- ------------- >>> >>> This is a v2, as v1 was inside >>> "[RFC 00/24] backup performance: block_status + async" >>> >>> I'll use this benchmark in other series, hope someone >>> will like it. >>> >>> Vladimir Sementsov-Ogievskiy (3): >>> python: add simplebench.py >>> python: add qemu/bench_block_job.py >>> python: add example usage of simplebench >>> >>> python/bench-example.py | 80 +++++++++++++++++++++ >>> python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ >>> python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ >>> 3 files changed, 323 insertions(+) >>> create mode 100644 python/bench-example.py >>> create mode 100755 python/qemu/bench_block_job.py >>> create mode 100644 python/simplebench.py >>> >> >> > > -- Best regards, Vladimir
Sorry, this is due to lack of bandwidth of maintainers who can review those patches. I have one suggestion: if you make your script self-contained inside a scripts/ subdirectory, it would be simpler to merge it without detailed reviews from others. The python/ subdirectory is supposed to appear on sys.path, so maybe simplebench.py and qemu/bench_block_job.py can stay there, but bench-example.py is not a loadable Python module and shouldn't be there. I see two possible options: a) Moving everything to a scripts/simplebench subdirectory. b) Moving only bench-example.py to scripts/, and do the sys.path hacking the other scripts do. On either case, please add your name to MAINTAINERS as the maintainer of those new files. On Thu, Feb 27, 2020 at 04:18:00PM +0300, Vladimir Sementsov-Ogievskiy wrote: > Hi! > > Is problem in "S: Odd fixes" in Python section of MAINTAINERS? > > Will it be correct, if I send a patch to MAINTAINERS, proposing > myself as maintainer of Python scripts and s/Odd fixes/Maintained/ ? > > And then just send pull request with this series, as "nobody minds"? > > 08.02.2020 13:36, Vladimir Sementsov-Ogievskiy wrote: > > pingg.. > > > > Hi! Could it be merged at all? > > > > 20.01.2020 12:10, Vladimir Sementsov-Ogievskiy wrote: > > > ping > > > > > > 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: > > > > Hi all! > > > > > > > > Here is simple benchmarking utility, to generate performance > > > > comparison tables, like the following: > > > > > > > > ---------- ------------- ------------- ------------- > > > > backup-1 backup-2 mirror > > > > ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 > > > > ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 > > > > ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 > > > > ---------- ------------- ------------- ------------- > > > > > > > > This is a v2, as v1 was inside > > > > "[RFC 00/24] backup performance: block_status + async" > > > > > > > > I'll use this benchmark in other series, hope someone > > > > will like it. > > > > > > > > Vladimir Sementsov-Ogievskiy (3): > > > > python: add simplebench.py > > > > python: add qemu/bench_block_job.py > > > > python: add example usage of simplebench > > > > > > > > python/bench-example.py | 80 +++++++++++++++++++++ > > > > python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ > > > > python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ > > > > 3 files changed, 323 insertions(+) > > > > create mode 100644 python/bench-example.py > > > > create mode 100755 python/qemu/bench_block_job.py > > > > create mode 100644 python/simplebench.py > > > > > > > > > > > > > > > > > -- > Best regards, > Vladimir > -- Eduardo
27.02.2020 23:09, Eduardo Habkost wrote: > Sorry, this is due to lack of bandwidth of maintainers who can > review those patches. > > I have one suggestion: if you make your script self-contained > inside a scripts/ subdirectory, it would be simpler to merge it > without detailed reviews from others. That works for me > > The python/ subdirectory is supposed to appear on sys.path, so Hmm. Ok, I think, we'll always be able to move shareable parts of simplebench into python/ if needed. So it's OK to keep it in scripts. I just thought that python/ is a new home for python scripts :) So, it's OK to keep the whole thing at scripts/ for now. > maybe simplebench.py and qemu/bench_block_job.py can stay there, > but bench-example.py is not a loadable Python module and > shouldn't be there. > > I see two possible options: > > a) Moving everything to a scripts/simplebench subdirectory. > b) Moving only bench-example.py to scripts/, and do the sys.path > hacking the other scripts do. > > On either case, please add your name to MAINTAINERS as the > maintainer of those new files. > OK, thanks! > > On Thu, Feb 27, 2020 at 04:18:00PM +0300, Vladimir Sementsov-Ogievskiy wrote: >> Hi! >> >> Is problem in "S: Odd fixes" in Python section of MAINTAINERS? >> >> Will it be correct, if I send a patch to MAINTAINERS, proposing >> myself as maintainer of Python scripts and s/Odd fixes/Maintained/ ? >> >> And then just send pull request with this series, as "nobody minds"? >> >> 08.02.2020 13:36, Vladimir Sementsov-Ogievskiy wrote: >>> pingg.. >>> >>> Hi! Could it be merged at all? >>> >>> 20.01.2020 12:10, Vladimir Sementsov-Ogievskiy wrote: >>>> ping >>>> >>>> 26.11.2019 18:48, Vladimir Sementsov-Ogievskiy wrote: >>>>> Hi all! >>>>> >>>>> Here is simple benchmarking utility, to generate performance >>>>> comparison tables, like the following: >>>>> >>>>> ---------- ------------- ------------- ------------- >>>>> backup-1 backup-2 mirror >>>>> ssd -> ssd 0.43 +- 0.00 4.48 +- 0.06 4.38 +- 0.02 >>>>> ssd -> hdd 10.60 +- 0.08 10.69 +- 0.18 10.57 +- 0.05 >>>>> ssd -> nbd 33.81 +- 0.37 10.67 +- 0.17 10.07 +- 0.07 >>>>> ---------- ------------- ------------- ------------- >>>>> >>>>> This is a v2, as v1 was inside >>>>> "[RFC 00/24] backup performance: block_status + async" >>>>> >>>>> I'll use this benchmark in other series, hope someone >>>>> will like it. >>>>> >>>>> Vladimir Sementsov-Ogievskiy (3): >>>>> python: add simplebench.py >>>>> python: add qemu/bench_block_job.py >>>>> python: add example usage of simplebench >>>>> >>>>> python/bench-example.py | 80 +++++++++++++++++++++ >>>>> python/qemu/bench_block_job.py | 115 +++++++++++++++++++++++++++++ >>>>> python/simplebench.py | 128 +++++++++++++++++++++++++++++++++ >>>>> 3 files changed, 323 insertions(+) >>>>> create mode 100644 python/bench-example.py >>>>> create mode 100755 python/qemu/bench_block_job.py >>>>> create mode 100644 python/simplebench.py >>>>> >>>> >>>> >>> >>> >> >> >> -- >> Best regards, >> Vladimir >> > -- Best regards, Vladimir
© 2016 - 2024 Red Hat, Inc.