User Tools

Site Tools


kb:perftests

This is an old revision of the document!


Performance Tests

IO Performance Tests

Für IO Performance kann fio genutzt werden.

fio ist für die meisten Betriebssysteme verfügbar und kann daher genutzt werden um vergleichbare Ergebnisse zu bekommen.

#!/bin/bash
 
testfile="FIO-TESTFILE"
filesize=1G
 
echo "IOPS Write:"
fio --rw=randwrite --name=IOPS-write --bs=4k --iodepth=32\
    --direct=1 --filename=$testfile --numjobs=4 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].write.iops
 
echo "IOPS Read:"
fio --rw=randread --name=IOPS-read --bs=4k --iodepth=32\
    --direct=1 --filename=$testfile --numjobs=4 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].read.iops
 
echo "Throughput Write (kB/s):"
fio --rw=write --name=Throughput-write --bs=1024k --iodepth=32\
    --direct=1 --filename=$testfile --numjobs=4 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].write.bw
 
echo "Throughput Read (kB/s):"
fio --rw=read --name=Throughput-read --bs=1024k --iodepth=32\
    --direct=1 --filename=$testfile --numjobs=4 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].read.bw
 
echo "Latency Write (ns):"
fio --rw=randwrite --name=Latency-write --bs=4k --iodepth=1\
    --direct=1 --filename=$testfile --numjobs=1 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].write.lat_ns.mean
 
echo "Latency Read (ns):"
fio --rw=randread --name=Latency-read --bs=4k --iodepth=1\
    -direct=1 --filename=$testfile --numjobs=1 --ioengine=libaio\
    --refill_buffers --group_reporting --runtime=60 --time_based\
    --size=$filesize --output-format=json | jq .jobs[0].read.lat_ns.mean

Testergebnisse von verschiedenen Systemen

IOPS Write IOPS Read Throughput Write Throughput Read Latency Write Latency Read
soquartz eMMC 3264 3295 40.2 MB/s 44.9 MB/s 647us 587us
soquartz NVME 38.2K 54.6K 389.2 MB/s 416.9 MB/s 70us 210us
PVE Guest 910 690K 122.7 MB/s 16314.6 MB/s 65us 56us
PVE Guest (AM) 225K 287K 1469.8 MB/s 11681.5 MB/s 37us 86us
PVE (AM) 360K 917K 1474.1 MB/s 12081.4 MB/s 13us 63us
HyperV(S2D) Guest (woe) 27.7K 120K 2820.2 MB/s 11549.6 MB/s 530us 158us
kb/perftests.1692880936.txt.gz · Last modified: by krumel