qm config VMID
)Server sind ASUS mit AMD Epyc, die lasse ich mir passend von primeLine Solutions bauen.Ja, das sind auch keine wirklich hohen Kosten, so dass es hierbei sicherlich gerechtfertigt ist.
Kannst / magst du mal aufführen, was du da so an Hardware verbaut hast?
Wie habt ihr die IOPS gemessen, falls du das noch weißt?Einer meiner letzten Benchmakrs auf so einem Cluster (SATA SSD und 10G) brachte rund 16k IOPS schreibend und rund 50k IOPS lesend. Die Latenz liegt da bei 2 - 3ms.
Hier würde ich auch gerne einhaken. Stefans ursprüngliches Problem war ja, dass er in einer Linux-VM mitWie habt ihr die IOPS gemessen, falls du das noch weißt?
fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=10mb --direct=1 --bs=512B -iodepth=16
root@deployvm:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=benchmark --filename=benchmark --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
benchmark: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.33
Starting 1 process
benchmark: Laying out IO file (1 file / 4096MiB)
Jobs: 1 (f=1): [m(1)][100.0%][r=159MiB/s,w=53.0MiB/s][r=40.8k,w=13.6k IOPS][eta 00m:00s]
benchmark: (groupid=0, jobs=1): err= 0: pid=1363: Tue Jan 9 16:17:09 2024
read: IOPS=39.4k, BW=154MiB/s (161MB/s)(3070MiB/19943msec)
bw ( KiB/s): min=145344, max=168432, per=100.00%, avg=158944.41, stdev=4816.53, samples=39
iops : min=36336, max=42108, avg=39736.00, stdev=1204.17, samples=39
write: IOPS=13.2k, BW=51.4MiB/s (53.9MB/s)(1026MiB/19943msec); 0 zone resets
bw ( KiB/s): min=48744, max=56528, per=100.00%, avg=53129.44, stdev=1596.11, samples=39
iops : min=12186, max=14132, avg=13282.36, stdev=399.03, samples=39
cpu : usr=17.72%, sys=47.96%, ctx=170623, majf=0, minf=17
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.1%, >=64=0.0%
issued rwts: total=785920,262656,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=154MiB/s (161MB/s), 154MiB/s-154MiB/s (161MB/s-161MB/s), io=3070MiB (3219MB), run=19943-19943msec
WRITE: bw=51.4MiB/s (53.9MB/s), 51.4MiB/s-51.4MiB/s (53.9MB/s-53.9MB/s), io=1026MiB (1076MB), run=19943-19943msec
Disk stats (read/write):
sda: ios=782934/261767, merge=0/18, ticks=1046688/89232, in_queue=1136006, util=99.65%
root@deployvm:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=benchmark --filename=benchmark --bs=4k --iodepth=64 --size=4G --readwrite=randread
benchmark: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [r(1)][100.0%][r=215MiB/s][r=54.9k IOPS][eta 00m:00s]
benchmark: (groupid=0, jobs=1): err= 0: pid=1370: Tue Jan 9 16:17:32 2024
read: IOPS=68.8k, BW=269MiB/s (282MB/s)(4096MiB/15250msec)
bw ( KiB/s): min=179352, max=303640, per=100.00%, avg=276570.93, stdev=25611.80, samples=30
iops : min=44838, max=75910, avg=69142.67, stdev=6402.93, samples=30
cpu : usr=23.60%, sys=56.74%, ctx=58838, majf=0, minf=81
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.1%, >=64=0.0%
issued rwts: total=1048576,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: bw=269MiB/s (282MB/s), 269MiB/s-269MiB/s (282MB/s-282MB/s), io=4096MiB (4295MB), run=15250-15250msec
Disk stats (read/write):
sda: ios=1042902/36, merge=0/7, ticks=853403/29, in_queue=853441, util=99.47%
root@deployvm:~# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=benchmark --filename=benchmark --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
benchmark: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=84.4MiB/s][w=21.6k IOPS][eta 00m:00s]
benchmark: (groupid=0, jobs=1): err= 0: pid=1373: Tue Jan 9 16:18:35 2024
write: IOPS=17.6k, BW=68.9MiB/s (72.3MB/s)(4096MiB/59410msec); 0 zone resets
bw ( KiB/s): min=48992, max=117416, per=99.94%, avg=70557.22, stdev=12547.35, samples=118
iops : min=12248, max=29354, avg=17639.34, stdev=3136.83, samples=118
cpu : usr=5.25%, sys=12.99%, ctx=220727, majf=0, minf=17
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.1%, >=64=0.0%
issued rwts: total=0,1048576,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
WRITE: bw=68.9MiB/s (72.3MB/s), 68.9MiB/s-68.9MiB/s (72.3MB/s-72.3MB/s), io=4096MiB (4295MB), run=59410-59410msec
Disk stats (read/write):
sda: ios=0/1047972, merge=0/23, ticks=0/3602293, in_queue=3610638, util=99.95%
root@deployvm:~# fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=10mb --direct=1 --bs=512B --iodepth=16
test: (g=0): rw=randrw, bs=(R) 512B-512B, (W) 512B-512B, (T) 512B-512B, ioengine=libaio, iodepth=16
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [m(1)][100.0%][r=741KiB/s,w=720KiB/s][r=1483,w=1440 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=1385: Tue Jan 9 16:22:11 2024
read: IOPS=1413, BW=707KiB/s (724kB/s)(5129KiB/7256msec)
slat (nsec): min=3697, max=75202, avg=9078.70, stdev=5113.99
clat (usec): min=528, max=26311, avg=5608.54, stdev=2010.54
lat (usec): min=541, max=26316, avg=5617.62, stdev=2010.64
clat percentiles (usec):
| 1.00th=[ 2180], 5.00th=[ 3163], 10.00th=[ 3589], 20.00th=[ 4146],
| 30.00th=[ 4621], 40.00th=[ 4948], 50.00th=[ 5276], 60.00th=[ 5669],
| 70.00th=[ 6128], 80.00th=[ 6652], 90.00th=[ 7767], 95.00th=[ 9372],
| 99.00th=[12256], 99.50th=[13435], 99.90th=[19268], 99.95th=[24773],
| 99.99th=[26346]
bw ( KiB/s): min= 658, max= 760, per=100.00%, avg=710.36, stdev=32.00, samples=14
iops : min= 1316, max= 1520, avg=1420.71, stdev=63.99, samples=14
write: IOPS=1408, BW=704KiB/s (721kB/s)(5111KiB/7256msec); 0 zone resets
slat (usec): min=71, max=15056, avg=693.58, stdev=870.96
clat (usec): min=255, max=24769, avg=5017.69, stdev=1784.54
lat (usec): min=387, max=26750, avg=5711.27, stdev=1943.07
clat percentiles (usec):
| 1.00th=[ 1844], 5.00th=[ 2769], 10.00th=[ 3294], 20.00th=[ 3720],
| 30.00th=[ 4047], 40.00th=[ 4424], 50.00th=[ 4752], 60.00th=[ 5080],
| 70.00th=[ 5473], 80.00th=[ 5997], 90.00th=[ 7046], 95.00th=[ 8455],
| 99.00th=[10945], 99.50th=[11994], 99.90th=[16712], 99.95th=[16909],
| 99.99th=[24511]
bw ( KiB/s): min= 684, max= 747, per=100.00%, avg=709.50, stdev=18.22, samples=14
iops : min= 1368, max= 1494, avg=1419.00, stdev=36.43, samples=14
lat (usec) : 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=1.01%, 4=22.04%, 10=73.89%, 20=2.97%, 50=0.05%
cpu : usr=1.24%, sys=4.65%, ctx=15290, majf=0, minf=12
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=99.9%, 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.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=10258,10222,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
READ: bw=707KiB/s (724kB/s), 707KiB/s-707KiB/s (724kB/s-724kB/s), io=5129KiB (5252kB), run=7256-7256msec
WRITE: bw=704KiB/s (721kB/s), 704KiB/s-704KiB/s (721kB/s-721kB/s), io=5111KiB (5234kB), run=7256-7256msec
Disk stats (read/write):
sda: ios=10095/10094, merge=0/10, ticks=10350/931, in_queue=11293, util=98.76%
root@deployvm:~# fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=10mb --direct=1 --bs=4k --iodepth=16
test: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16
fio-3.33
Starting 1 process
test: (groupid=0, jobs=1): err= 0: pid=1389: Tue Jan 9 16:22:20 2024
read: IOPS=3626, BW=14.2MiB/s (14.9MB/s)(5048KiB/348msec)
slat (nsec): min=3424, max=47987, avg=9598.96, stdev=5277.56
clat (usec): min=262, max=12673, avg=4259.57, stdev=2725.10
lat (usec): min=275, max=12677, avg=4269.17, stdev=2724.98
clat percentiles (usec):
| 1.00th=[ 359], 5.00th=[ 1012], 10.00th=[ 1385], 20.00th=[ 1811],
| 30.00th=[ 2311], 40.00th=[ 2900], 50.00th=[ 3589], 60.00th=[ 4424],
| 70.00th=[ 5211], 80.00th=[ 6652], 90.00th=[ 8455], 95.00th=[ 9634],
| 99.00th=[11469], 99.50th=[12387], 99.90th=[12649], 99.95th=[12649],
| 99.99th=[12649]
write: IOPS=3729, BW=14.6MiB/s (15.3MB/s)(5192KiB/348msec); 0 zone resets
slat (nsec): min=3666, max=40858, avg=9979.14, stdev=5285.81
clat (usec): min=46, max=3559, avg=116.64, stdev=116.29
lat (usec): min=52, max=3579, avg=126.62, stdev=116.42
clat percentiles (usec):
| 1.00th=[ 61], 5.00th=[ 74], 10.00th=[ 78], 20.00th=[ 83],
| 30.00th=[ 88], 40.00th=[ 93], 50.00th=[ 100], 60.00th=[ 110],
| 70.00th=[ 118], 80.00th=[ 133], 90.00th=[ 157], 95.00th=[ 178],
| 99.00th=[ 498], 99.50th=[ 668], 99.90th=[ 865], 99.95th=[ 3556],
| 99.99th=[ 3556]
lat (usec) : 50=0.12%, 100=25.08%, 250=24.65%, 500=1.13%, 750=1.05%
lat (usec) : 1000=1.09%
lat (msec) : 2=8.91%, 4=15.98%, 10=20.08%, 20=1.91%
cpu : usr=3.17%, sys=8.36%, ctx=1519, majf=0, minf=11
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.3%, 16=99.4%, 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.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=1262,1298,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
READ: bw=14.2MiB/s (14.9MB/s), 14.2MiB/s-14.2MiB/s (14.9MB/s-14.9MB/s), io=5048KiB (5169kB), run=348-348msec
WRITE: bw=14.6MiB/s (15.3MB/s), 14.6MiB/s-14.6MiB/s (15.3MB/s-15.3MB/s), io=5192KiB (5317kB), run=348-348msec
Disk stats (read/write):
sda: ios=546/607, merge=0/0, ticks=2066/67, in_queue=2134, util=59.02%
root@deployvm:~# fio --direct=1 --ioengine=libaio --rw=randrw --name=benchmark --filename=benchmark --size=4G --direct=1 --bs=4k --iodepth=16
benchmark: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [m(1)][100.0%][r=30.7MiB/s,w=31.3MiB/s][r=7863,w=8010 IOPS][eta 00m:00s]
benchmark: (groupid=0, jobs=1): err= 0: pid=1405: Tue Jan 9 16:26:51 2024
read: IOPS=11.1k, BW=43.4MiB/s (45.5MB/s)(2049MiB/47269msec)
slat (usec): min=3, max=1651, avg=11.54, stdev= 8.06
clat (usec): min=227, max=217648, avg=1243.55, stdev=2802.07
lat (usec): min=242, max=217653, avg=1255.09, stdev=2802.06
clat percentiles (usec):
| 1.00th=[ 457], 5.00th=[ 506], 10.00th=[ 529], 20.00th=[ 570],
| 30.00th=[ 603], 40.00th=[ 627], 50.00th=[ 660], 60.00th=[ 701],
| 70.00th=[ 758], 80.00th=[ 898], 90.00th=[ 1696], 95.00th=[ 4752],
| 99.00th=[ 11338], 99.50th=[ 14353], 99.90th=[ 22152], 99.95th=[ 27395],
| 99.99th=[132645]
bw ( KiB/s): min=24160, max=49768, per=100.00%, avg=44574.64, stdev=4710.84, samples=94
iops : min= 6040, max=12442, avg=11143.66, stdev=1177.74, samples=94
write: IOPS=11.1k, BW=43.3MiB/s (45.4MB/s)(2047MiB/47269msec); 0 zone resets
slat (usec): min=3, max=351, avg=12.21, stdev= 7.90
clat (usec): min=5, max=9785, avg=170.49, stdev=58.45
lat (usec): min=47, max=9790, avg=182.71, stdev=58.97
clat percentiles (usec):
| 1.00th=[ 82], 5.00th=[ 99], 10.00th=[ 111], 20.00th=[ 127],
| 30.00th=[ 139], 40.00th=[ 151], 50.00th=[ 163], 60.00th=[ 178],
| 70.00th=[ 192], 80.00th=[ 210], 90.00th=[ 237], 95.00th=[ 265],
| 99.00th=[ 326], 99.50th=[ 359], 99.90th=[ 469], 99.95th=[ 553],
| 99.99th=[ 898]
bw ( KiB/s): min=24992, max=49408, per=100.00%, avg=44518.38, stdev=4687.42, samples=94
iops : min= 6248, max=12352, avg=11129.60, stdev=1171.86, samples=94
lat (usec) : 10=0.01%, 50=0.01%, 100=2.66%, 250=43.73%, 500=5.71%
lat (usec) : 750=32.24%, 1000=7.11%
lat (msec) : 2=4.05%, 4=1.56%, 10=2.20%, 20=0.64%, 50=0.06%
lat (msec) : 100=0.01%, 250=0.01%
cpu : usr=10.91%, sys=28.89%, ctx=480876, majf=0, minf=75
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.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.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=524625,523951,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
READ: bw=43.4MiB/s (45.5MB/s), 43.4MiB/s-43.4MiB/s (45.5MB/s-45.5MB/s), io=2049MiB (2149MB), run=47269-47269msec
WRITE: bw=43.3MiB/s (45.4MB/s), 43.3MiB/s-43.3MiB/s (45.4MB/s-45.4MB/s), io=2047MiB (2146MB), run=47269-47269msec
Disk stats (read/write):
sda: ios=524143/523683, merge=0/39, ticks=639015/70546, in_queue=710001, util=99.89%
Ich beschreibe mal kurz das Setup, dann kannst du es womöglich auch besser bewerten.Ich würde jetzt mal faul annehmen, dass das Hardware-Unterschiede sind und grundsätzlich passt.
Ich habe mal etwas getestet, wenn ich eine kleine VM mit 2 vCPUs nehme, bekomme ich immer die gleichen ergebnisse, egal ob auf meiner Bastelumgebung mit billig Consumer SSDs oder Enterprise NVMe. Bei mir sind es keine 400 I/Os aber immer um die 1270 I/Os.gemessen und schlappe 400 IOPS rausgekriegtCode:fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=10mb --direct=1 --bs=512B -iodepth=16
Das kann ich für unsere Umgebung nicht bestätigen. Egal ob die VM 1GB RAM und 2 vCPUs hat, oder 16 GB RAM und 8 vCPUs, die Werte fürAlso wenn ich Performance aus einer VM bekommen will, sollte man den Test nicht auf der OS Disk machen, mind. 8 vCPUs typ host und ein klein wenig RAM geben.
fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=1G --direct=1 --bs=4K -iodepth=16
Da passt aber irgend etwas nicht. Ich habe bei jedem Benchmark unterschiede, wenn ich vCPUs hoch schraube. Welchen CPU Typ nutzt du und welchen Controller Typ in der VM?Das kann ich für unsere Umgebung nicht bestätigen. Egal ob die VM 1GB RAM und 2 vCPUs hat, oder 16 GB RAM und 8 vCPUs, die Werte für
sind die gleichen, ungefähr 5000 IOPS.Code:fio --direct=1 --ioengine=libaio --rw=randrw --name=test --size=1G --direct=1 --bs=4K -iodepth=16
Übrigens, damit das nicht falsch rüberkommt: Wir sind nicht unzufrieden mit unseren aktuellen Werten. Ich möchte lediglich in Hinblick auf Hardware-Neuanschaffungen verstehen, was in Sachen Ceph-Performance die wichtigen Stellschrauben sind.