Post by cloisteredneuron on Jan 11, 2022 6:19:08 GMT
While benchmarking the file system performance of several Linux distros I found most had similar read and write throughput using sysbench (sudo apt install sysbench). One tested distro was significantly better - Xubuntu (xubuntu-21.04-desktop-amd64.iso). Anyone know why Xubuntu might perform better? Any suggestions on better benchmarking tools?
Bodhi version tested (bodhi-6.0.0-64.iso). One distro, Fedora-LXDE-Live-x86_64-35-1.2.iso, was very slow.
sysbench testing:
sudo apt install sysbench
mkdir benchmark
cd benchmark
sysbench fileio prepare
sysbench fileio --file-test-mode=rndrw run
mkdir benchmark
cd benchmark
sysbench fileio prepare
sysbench fileio --file-test-mode=rndrw run
VMs were running on WIN10PRO running Hyper-V and Windows Subsystem for Linux. Each VM was created as GEN2, 1GB RAM, 2 Virtual Processors, 20GB HD. WIN10PRO host was a 4 core 8 thread 32GB RAM desktop with SATA3 SSDs. All tested VMs were on the same SSD and only one VM was running during each test.
Test Results Overview:
@bodihv
Throughput:
read, MiB/s: 7.45
written, MiB/s: 4.96
Throughput:
read, MiB/s: 7.45
written, MiB/s: 4.96
@xubuntu
Throughput:
read, MiB/s: 11.84
written, MiB/s: 7.89
Throughput:
read, MiB/s: 11.84
written, MiB/s: 7.89
@lubuntu
Throughput:
read, MiB/s: 7.32
written, MiB/s: 4.88
@fedora
Throughput:
read, MiB/s: 1.76
written, MiB/s: 1.17
@mintmate
Throughput:
read, MiB/s: 8.46
written, MiB/s: 5.64
@mintxfce
Throughput:
read, MiB/s: 7.69
written, MiB/s: 5.13
Throughput:
read, MiB/s: 7.32
written, MiB/s: 4.88
@fedora
Throughput:
read, MiB/s: 1.76
written, MiB/s: 1.17
@mintmate
Throughput:
read, MiB/s: 8.46
written, MiB/s: 5.64
@mintxfce
Throughput:
read, MiB/s: 7.69
written, MiB/s: 5.13
Test Results Detail:
@bodihv:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 476.54
writes/s: 317.69
fsyncs/s: 1020.69
Throughput:
read, MiB/s: 7.45
written, MiB/s: 4.96
General statistics:
total time: 10.0713s
total number of events: 18153
Latency (ms):
min: 0.00
avg: 0.55
max: 19.78
95th percentile: 2.52
sum: 9987.60
Threads fairness:
events (avg/stddev): 18153.0000/0.00
execution time (avg/stddev): 9.9876/0.00
@lubuntu:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 468.56
writes/s: 312.37
fsyncs/s: 1003.05
Throughput:
read, MiB/s: 7.32
written, MiB/s: 4.88
General statistics:
total time: 10.1131s
total number of events: 17919
Latency (ms):
min: 0.00
avg: 0.56
max: 23.07
95th percentile: 2.30
sum: 9985.19
Threads fairness:
events (avg/stddev): 17919.0000/0.00
execution time (avg/stddev): 9.9852/0.00
@xubuntu:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 757.53
writes/s: 505.02
fsyncs/s: 1625.31
Throughput:
read, MiB/s: 11.84
written, MiB/s: 7.89
General statistics:
total time: 10.0577s
total number of events: 28921
Latency (ms):
min: 0.00
avg: 0.35
max: 20.01
95th percentile: 0.58
sum: 9983.22
Threads fairness:
events (avg/stddev): 28921.0000/0.00
execution time (avg/stddev): 9.9832/0.00
@fedora benchmark]$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 112.70
writes/s: 75.13
fsyncs/s: 249.71
Throughput:
read, MiB/s: 1.76
written, MiB/s: 1.17
General statistics:
total time: 10.1139s
total number of events: 4298
Latency (ms):
min: 0.00
avg: 2.33
max: 43.02
95th percentile: 12.30
sum: 10001.23
Threads fairness:
events (avg/stddev): 4298.0000/0.00
execution time (avg/stddev): 10.0012/0.00
@mintmate:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 541.29
writes/s: 360.86
fsyncs/s: 1156.33
Throughput:
read, MiB/s: 8.46
written, MiB/s: 5.64
General statistics:
total time: 10.0858s
total number of events: 20636
Latency (ms):
min: 0.00
avg: 0.48
max: 18.53
95th percentile: 2.35
sum: 9987.59
Threads fairness:
events (avg/stddev): 20636.0000/0.00
execution time (avg/stddev): 9.9876/0.00
@mintxfce:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 492.35
writes/s: 328.23
fsyncs/s: 1051.13
Throughput:
read, MiB/s: 7.69
written, MiB/s: 5.13
General statistics:
total time: 10.1135s
total number of events: 18804
Latency (ms):
min: 0.00
avg: 0.53
max: 17.70
95th percentile: 2.43
sum: 9988.66
Threads fairness:
events (avg/stddev): 18804.0000/0.00
execution time (avg/stddev): 9.9887/0.00
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 476.54
writes/s: 317.69
fsyncs/s: 1020.69
Throughput:
read, MiB/s: 7.45
written, MiB/s: 4.96
General statistics:
total time: 10.0713s
total number of events: 18153
Latency (ms):
min: 0.00
avg: 0.55
max: 19.78
95th percentile: 2.52
sum: 9987.60
Threads fairness:
events (avg/stddev): 18153.0000/0.00
execution time (avg/stddev): 9.9876/0.00
@lubuntu:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 468.56
writes/s: 312.37
fsyncs/s: 1003.05
Throughput:
read, MiB/s: 7.32
written, MiB/s: 4.88
General statistics:
total time: 10.1131s
total number of events: 17919
Latency (ms):
min: 0.00
avg: 0.56
max: 23.07
95th percentile: 2.30
sum: 9985.19
Threads fairness:
events (avg/stddev): 17919.0000/0.00
execution time (avg/stddev): 9.9852/0.00
@xubuntu:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 757.53
writes/s: 505.02
fsyncs/s: 1625.31
Throughput:
read, MiB/s: 11.84
written, MiB/s: 7.89
General statistics:
total time: 10.0577s
total number of events: 28921
Latency (ms):
min: 0.00
avg: 0.35
max: 20.01
95th percentile: 0.58
sum: 9983.22
Threads fairness:
events (avg/stddev): 28921.0000/0.00
execution time (avg/stddev): 9.9832/0.00
@fedora benchmark]$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 112.70
writes/s: 75.13
fsyncs/s: 249.71
Throughput:
read, MiB/s: 1.76
written, MiB/s: 1.17
General statistics:
total time: 10.1139s
total number of events: 4298
Latency (ms):
min: 0.00
avg: 2.33
max: 43.02
95th percentile: 12.30
sum: 10001.23
Threads fairness:
events (avg/stddev): 4298.0000/0.00
execution time (avg/stddev): 10.0012/0.00
@mintmate:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 541.29
writes/s: 360.86
fsyncs/s: 1156.33
Throughput:
read, MiB/s: 8.46
written, MiB/s: 5.64
General statistics:
total time: 10.0858s
total number of events: 20636
Latency (ms):
min: 0.00
avg: 0.48
max: 18.53
95th percentile: 2.35
sum: 9987.59
Threads fairness:
events (avg/stddev): 20636.0000/0.00
execution time (avg/stddev): 9.9876/0.00
@mintxfce:~/benchmark$ sysbench fileio --file-test-mode=rndrw run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 492.35
writes/s: 328.23
fsyncs/s: 1051.13
Throughput:
read, MiB/s: 7.69
written, MiB/s: 5.13
General statistics:
total time: 10.1135s
total number of events: 18804
Latency (ms):
min: 0.00
avg: 0.53
max: 17.70
95th percentile: 2.43
sum: 9988.66
Threads fairness:
events (avg/stddev): 18804.0000/0.00
execution time (avg/stddev): 9.9887/0.00