Added some fio benchmark results for PM893

This commit is contained in:
Marcel Straub
2022-01-22 22:14:02 +01:00
parent c62706c5e7
commit 88eae634ac

View File

@@ -0,0 +1,158 @@
---
title: FIO benchmark of Samsung PM893 1.92TB
#weight: 1
#bookFlatSection: false
bookToc: false
bookHidden: true
---
# FIO benchmark of Samsung PM893 1.92TB
In my 3 node primary Proxmox Cluster, I'm using Samsung PM893 SSDs. To be precise these are the MZ7L31T9 with a capacity of 1.92TiB. These are server SSD for read-intensive use. As a homeserver, usually does not have such big write loads, I chose those. I'm curious to see how these behave under my loads.
## Setup
For the tests, the SSD were installed in the Lenovo M900 SFF machines. These are equipped with:
- Intel Core i5-6500
- 64GB DDR4-3200 RAM (4x16GB Crucial CT16G4DFRA32A)
The SSD were the only connected block-storage devices.
## Results
Here, are some ``fio`` benchmarks for these devices for random 4K writes as it is suggested by [Ceph](https://docs.ceph.com/en/latest/start/hardware-recommendations/#benchmarking). I run this benchmarks on three brandnew SSDs. Based on what I know about the hardware, it is basically the same for each hosts. Nevertheless, the results vary
{{< tabs "PM893">}}
{{< tab "vm03" >}}
```shell-session
# fio --direct=1 --fsync=1 --sync=1 --rw=randwrite --bs=4K --iodepth=1 --runtime=300 --time_based --name rand_writes --filename=/mnt/fiotest --size=100G
rand_writes: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
fio-3.25
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=17.0MiB/s][w=4358 IOPS][eta 00m:00s]
rand_writes: (groupid=0, jobs=1): err= 0: pid=27743: Sat Jan 22 21:53:27 2022
write: IOPS=6505, BW=25.4MiB/s (26.6MB/s)(7623MiB/300001msec); 0 zone resets
clat (usec): min=42, max=5181, avg=125.53, stdev=76.77
lat (usec): min=42, max=5181, avg=125.69, stdev=76.79
clat percentiles (usec):
| 1.00th=[ 48], 5.00th=[ 52], 10.00th=[ 53], 20.00th=[ 58],
| 30.00th=[ 60], 40.00th=[ 69], 50.00th=[ 88], 60.00th=[ 169],
| 70.00th=[ 180], 80.00th=[ 192], 90.00th=[ 212], 95.00th=[ 233],
| 99.00th=[ 310], 99.50th=[ 338], 99.90th=[ 408], 99.95th=[ 461],
| 99.99th=[ 1680]
bw ( KiB/s): min=11616, max=51552, per=100.00%, avg=26043.43, stdev=12155.50, samples=599
iops : min= 2904, max=12888, avg=6510.86, stdev=3038.88, samples=599
lat (usec) : 50=3.31%, 100=49.78%, 250=43.72%, 500=3.16%, 750=0.02%
lat (usec) : 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%, 10=0.01%
fsync/fdatasync/sync_file_range:
sync (usec): min=12, max=2019, avg=26.92, stdev=14.43
sync percentiles (usec):
| 1.00th=[ 17], 5.00th=[ 18], 10.00th=[ 19], 20.00th=[ 21],
| 30.00th=[ 22], 40.00th=[ 23], 50.00th=[ 23], 60.00th=[ 24],
| 70.00th=[ 30], 80.00th=[ 32], 90.00th=[ 42], 95.00th=[ 46],
| 99.00th=[ 68], 99.50th=[ 74], 99.90th=[ 91], 99.95th=[ 101],
| 99.99th=[ 139]
cpu : usr=2.16%, sys=14.07%, ctx=9004533, majf=0, minf=14
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,1951526,0,1951526 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=25.4MiB/s (26.6MB/s), 25.4MiB/s-25.4MiB/s (26.6MB/s-26.6MB/s), io=7623MiB (7993MB), run=300001-300001msec
Disk stats (read/write):
sda: ios=0/6845333, merge=0/1864281, ticks=0/261261, in_queue=356469, util=100.00%
```
{{< /tab>}}
{{< tab "vm04">}}
```shell-session
# fio --direct=1 --fsync=1 --sync=1 --rw=randwrite --bs=4K --iodepth=1 --runtime=300 --time_based --name rand_writes --filename=/mnt/fiotest --size=100G
rand_writes: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
fio-3.25
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=21.0MiB/s][w=5624 IOPS][eta 00m:00s]
rand_writes: (groupid=0, jobs=1): err= 0: pid=27534: Sat Jan 22 21:53:27 2022
write: IOPS=7703, BW=30.1MiB/s (31.6MB/s)(9028MiB/300001msec); 0 zone resets
clat (usec): min=38, max=9181, avg=111.89, stdev=66.84
lat (usec): min=38, max=9182, avg=112.01, stdev=66.85
clat percentiles (usec):
| 1.00th=[ 41], 5.00th=[ 41], 10.00th=[ 42], 20.00th=[ 43],
| 30.00th=[ 46], 40.00th=[ 59], 50.00th=[ 139], 60.00th=[ 149],
| 70.00th=[ 157], 80.00th=[ 161], 90.00th=[ 176], 95.00th=[ 190],
| 99.00th=[ 265], 99.50th=[ 277], 99.90th=[ 338], 99.95th=[ 396],
| 99.99th=[ 1631]
bw ( KiB/s): min= 9960, max=69040, per=100.00%, avg=30841.99, stdev=16440.51, samples=599
iops : min= 2490, max=17260, avg=7710.50, stdev=4110.13, samples=599
lat (usec) : 50=32.34%, 100=11.95%, 250=54.25%, 500=1.42%, 750=0.01%
lat (usec) : 1000=0.01%
lat (msec) : 2=0.02%, 4=0.01%, 10=0.01%
fsync/fdatasync/sync_file_range:
sync (usec): min=12, max=1778, avg=16.66, stdev=12.10
sync percentiles (usec):
| 1.00th=[ 13], 5.00th=[ 13], 10.00th=[ 14], 20.00th=[ 14],
| 30.00th=[ 15], 40.00th=[ 15], 50.00th=[ 16], 60.00th=[ 16],
| 70.00th=[ 17], 80.00th=[ 17], 90.00th=[ 25], 95.00th=[ 29],
| 99.00th=[ 39], 99.50th=[ 42], 99.90th=[ 64], 99.95th=[ 75],
| 99.99th=[ 190]
cpu : usr=2.39%, sys=17.30%, ctx=10544432, majf=0, minf=13
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,2311207,0,2311206 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=30.1MiB/s (31.6MB/s), 30.1MiB/s-30.1MiB/s (31.6MB/s-31.6MB/s), io=9028MiB (9467MB), run=300001-300001msec
Disk stats (read/write):
sda: ios=0/8404415, merge=0/2687715, ticks=0/253265, in_queue=325743, util=100.00%
```
{{< /tab >}}
{{< tab "vm05">}}
```shell-session
# fio --direct=1 --fsync=1 --sync=1 --rw=randwrite --bs=4K --iodepth=1 --runtime=300 --time_based --name rand_writes --filename=/mnt/fiotest --size=100G
rand_writes: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B -4096B, ioengine=psync, iodepth=1
fio-3.25
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=19.3MiB/s][w=4943 IOPS][eta 00m:00s]
rand_writes: (groupid=0, jobs=1): err= 0: pid=25772: Sat Jan 22 21:37:51 2022
write: IOPS=4986, BW=19.5MiB/s (20.4MB/s)(5844MiB/300001msec); 0 zone resets
clat (usec): min=40, max=11915, avg=176.64, stdev=247.62
lat (usec): min=40, max=11915, avg=176.80, stdev=247.63
clat percentiles (usec):
| 1.00th=[ 47], 5.00th=[ 133], 10.00th=[ 137], 20.00th=[ 143],
| 30.00th=[ 147], 40.00th=[ 151], 50.00th=[ 155], 60.00th=[ 161],
| 70.00th=[ 169], 80.00th=[ 180], 90.00th=[ 194], 95.00th=[ 231],
| 99.00th=[ 355], 99.50th=[ 586], 99.90th=[ 4490], 99.95th=[ 4555],
| 99.99th=[ 4752]
bw ( KiB/s): min=14448, max=22640, per=100.00%, avg=19955.87, stdev=804.61, samples=599
iops : min= 3612, max= 5660, avg=4988.96, stdev=201.15, samples=599
lat (usec) : 50=1.40%, 100=2.01%, 250=93.21%, 500=2.80%, 750=0.17%
lat (usec) : 1000=0.03%
lat (msec) : 2=0.04%, 4=0.05%, 10=0.30%, 20=0.01%
fsync/fdatasync/sync_file_range:
sync (usec): min=12, max=6633, avg=22.29, stdev=72.81
sync percentiles (usec):
| 1.00th=[ 14], 5.00th=[ 15], 10.00th=[ 16], 20.00th=[ 16],
| 30.00th=[ 16], 40.00th=[ 16], 50.00th=[ 17], 60.00th=[ 17],
| 70.00th=[ 18], 80.00th=[ 25], 90.00th=[ 29], 95.00th=[ 42],
| 99.00th=[ 65], 99.50th=[ 81], 99.90th=[ 159], 99.95th=[ 2040],
| 99.99th=[ 3392]
cpu : usr=2.13%, sys=16.68%, ctx=6109111, majf=0, minf=12
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,1496002,0,1496002 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=19.5MiB/s (20.4MB/s), 19.5MiB/s-19.5MiB/s (20.4MB/s-20.4MB/s), io=5844MiB (6128MB), run=300001-300001msec
Disk stats (read/write):
sda: ios=0/6010838, merge=0/3016066, ticks=0/296098, in_queue=363039, util=100.00%
```
{{< /tab >}}
{{< /tabs >}}
# Todo
Compare results to datasheet and reviews on the internet