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