Linux/Benchmarks: Difference between revisions

From Wiki
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Install ==
<pre>
sudo apt install bonnie++
sudo apt install fio
sudo apt install sysbench
sudo apt install stress-ng
</pre>
== HDD & SSD ==
== HDD & SSD ==
* bonnie++
* bonnie++
<pre>
<pre>
apt install bonnie++
sudo bonnie -d /mnt/hdd -s 4000 -u root
sudo bonnie -d /mnt/hdd -s 4000 -u root
</pre>
</pre>


* fio
* fio
:* Read Throughput
:* Read 4k Throughput
<pre>
sudo fio --name=read_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4k --iodepth=64 --rw=read \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
</pre>
 
:* Read 1M Throughput
<pre>
<pre>
sudo fio --name=read_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
sudo fio --name=read_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
</pre>
</pre>


:* Write Throughput
:* Write 4k Throughput
<pre>
sudo fio --name=write_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4k --iodepth=64 --rw=write \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
</pre>
 
:* Write 1M Throughput
<pre>
<pre>
sudo fio --name=write_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
sudo fio --name=write_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=write \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=write \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
</pre>
</pre>


Line 25: Line 46:
sudo fio --name=read_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
sudo fio --name=read_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randread --group_reporting=1 \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randread --group_reporting=1 \
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256 --unlink=1
</pre>
</pre>


Line 32: Line 53:
sudo fio --name=write_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
sudo fio --name=write_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randwrite --group_reporting=1 \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randwrite --group_reporting=1 \
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256 --unlink=1
</pre>
</pre>


Line 38: Line 59:


== CPU ==
== CPU ==
* install sysbench
<pre>
sudo apt install sysbench
</pre>
* Sysbench Singlecore
* Sysbench Singlecore
<pre>
<pre>
sysbench --test=cpu --cpu-max-prime=24576 --num-threads=1 run
sysbench cpu --cpu-max-prime=24576 --num-threads=1 run
</pre>
</pre>


* Sysbench RAM bandwidth
* Sysbench RAM bandwidth
<pre>
<pre>
sysbench --test=memory --memory-total-size=20000M run
sysbench memory --memory-total-size=20000M run
</pre>
 
<pre>
sysbench cpu run
sysbench --cpu-max-prime=20000 --threads=6 cpu run
</pre>
</pre>


* stress-ng
* stress-ng
<pre>
<pre>
sudo apt install stress-ng
stress-ng --cpu 1 --cpu-method matrixprod --metrics-brief --perf -t 60
stress-ng --cpu 1 --cpu-method matrixprod --metrics-brief --perf -t 60
</pre>
</pre>
Line 69: Line 77:
== Mysql ==
== Mysql ==
<pre>
<pre>
apt install sysbench
prepare (ca. 2GB data):
prepare (ca. 2GB data):
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 /usr/share/sysbench/oltp_read_write.lua prepare
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 /usr/share/sysbench/oltp_read_write.lua prepare


benchmark:
benchmark:
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 --threads=8 --time=60 --events=0 --report-interval=2 /usr/share/sysbench/oltp_read_write.lua run
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 --threads=8 --time=60 --events=0 --report-interval=2 /usr/share/sysbench/oltp_read_write.lua run
</pre>
</pre>
== Benchmarks ==
{| class="wikitable"
|+
!
!ml-nuc
i7-1360P WSL
!proxmox guest
Core 3 100U
!nucserver
i3-6100u
!edgeserver
Zotac N100
!netcup
RS 1000 G9.5
!netcup
black week
!contabo
VPS S
|-
|fio read throughput BW
|5272 MB/s
|4588 MB/s
|539 MB/s
|1401 MB/s
|2935 MB/s
|3241 MB/s
|6322 MB/s
|-
|fio write throughput BW
|6341 MB/s
|5361 MB/s
|443 MB/s
|1220 MB/s
|1474 MB/s
|1403 MB/s
|'''137 MB/s'''
|-
|fio read iops
|309k
|118k
|91.0k
|104k
|33.7k
|100k
|87.5k
|-
|fio write iops
|204k
|59.3k
|73.2k
|225k
|37.2k
|56.9k
|'''1k'''
|-
|sysbench singlecore
|9317evts
|1013evt/s
|2366evts
|9808evts
|4098
|4340
|4413
|-
|sysbench memory
|1092ms
|1117ms
|2257ms
|1268ms
|1941
|1710
|1945
|}


== Links ==
== Links ==

Latest revision as of 19:34, 26 October 2024

Install

sudo apt install bonnie++
sudo apt install fio
sudo apt install sysbench
sudo apt install stress-ng

HDD & SSD

  • bonnie++
sudo bonnie -d /mnt/hdd -s 4000 -u root
  • fio
  • Read 4k Throughput
sudo fio --name=read_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4k --iodepth=64 --rw=read \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
  • Read 1M Throughput
sudo fio --name=read_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
  • Write 4k Throughput
sudo fio --name=write_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4k --iodepth=64 --rw=write \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
  • Write 1M Throughput
sudo fio --name=write_throughput --directory=fiotest --numjobs=16 --size=1G --time_based \
--runtime=30s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=write \
--group_reporting=1 --iodepth_batch_submit=64 --iodepth_batch_complete_max=64 --unlink=1
  • Read IOPS
sudo fio --name=read_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randread --group_reporting=1 \
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256 --unlink=1
  • Write IOPS
sudo fio --name=write_iops --directory=fiotest --size=1G --time_based --runtime=30s --ramp_time=2s \
--ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=256 --rw=randwrite --group_reporting=1 \
--iodepth_batch_submit=256  --iodepth_batch_complete_max=256 --unlink=1


CPU

  • Sysbench Singlecore
sysbench cpu --cpu-max-prime=24576 --num-threads=1 run
  • Sysbench RAM bandwidth
sysbench memory --memory-total-size=20000M run
  • stress-ng
stress-ng --cpu 1 --cpu-method matrixprod --metrics-brief --perf -t 60
  • sysbench (generals systembenchmark) [1]

Mysql

prepare (ca. 2GB data):
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 /usr/share/sysbench/oltp_read_write.lua prepare

benchmark:
sysbench --db-driver=mysql --mysql-host='vm-docker' --mysql-db=maria --mysql-user=maria --mysql-password=maria --tables=16 --table-size=1000000 --threads=8 --time=60 --events=0 --report-interval=2 /usr/share/sysbench/oltp_read_write.lua run

Links