tart/benchmark
Nikolay Edigaryev 5cd83c38cd
Introduce Golang-based benchmarking utility (#769)
* Introduce Golang-based benchmarking utility

* benchmark fio: properly configure logger level

* benchmark: properly terminate on Ctrl+C when initializing/running Tart

* benchmark(fio): increase runtime to 30 seconds

* benchmark(fio): IOPS are already per second

* benchmark(fio): --numjobs 1 --iodepth 1 --end_fsync 1

* benchmark(README.md): add results
2024-03-27 18:45:01 +04:00
..
cmd Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
internal Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
.editorconfig Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
.golangci.yml Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
README.md Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
go.mod Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00
go.sum Introduce Golang-based benchmarking utility (#769) 2024-03-27 18:45:01 +04:00

README.md

Benchmark

Tart comes with a Golang-based benchmarking utility that allows one to easily compare host and guest performance.

Currently, only Flexible I/O tester workloads are supported. To run them, install Golang and run the following command from this (benchmark/) directory:

go run cmd/main.go fio

You can also enable the debugging output to diagnose issues:

go run cmd/main.go fio --debug

Results

Host:

  • Hardware: Mac mini (Apple M2 Pro, 8 performance and 4 efficiency cores, 32 GB RAM, Mac14,12)
  • OS: macOS Sonoma 14.4.1

Guest:

Name                    	Executor	Bandwidth	I/O operations
Random writing of 1MB   	local   	2.6 GB/s 	649.35 kIOPS  
Random writing of 1MB   	Tart    	2.5 GB/s 	620.22 kIOPS  
Random writing of 10MB  	local   	2.6 GB/s 	651.74 kIOPS  
Random writing of 10MB  	Tart    	2.5 GB/s 	615.52 kIOPS  
Random writing of 100MB 	local   	1.9 GB/s 	481.51 kIOPS  
Random writing of 100MB 	Tart    	2.0 GB/s 	493.31 kIOPS  
Random writing of 1000MB	local   	1.7 GB/s 	414.89 kIOPS  
Random writing of 1000MB	Tart    	1.1 GB/s 	287.4 kIOPS