Eine bitte an euch

franz78

Member
Oct 11, 2018
20
0
21
46
Hallo Zusammen!

Ich würde sehr gerne einen Performance Vegleich mit meinen System durchführen und dazu "fio" verwenden.

Wichtig wäre: Proxmox 5.4 bzw. 6.0 + SAN Anbindung via HBA + OS sollte Redhat Ent. 7.x o. CentOS 7.x sein

Ich weis leider nicht warum, aber unser Systeme kommen mir etwas zu langsam vor. Eure Ergebnisse würden mir echt weiterhelfen. Eventuell sogar ein normal Zustand im SAN ? ;(

Hier der FIO Test.
fio --name=testfile --rw=read --size=1g --directory=/<DIRPATH> --direct=1 --blocksize=4k --iodepth=1 --ioengine=libaio

Bei unserem SAN System:
14-18 MB bei ca. 4 - 5K IOPS ?

bei meinem Testsystem Zuhause. ZFS 6x SSD Samsung SM863a 1TB
120MB bei ca. 30k IOPS

pveperf:
FSYNCS/SECOND: 6363.94

Meine ZFS Settings:
ashift=12
zfs set logbias=throughput rpool
zfs set compression=lz4 rpool
zfs set atime=off rpool
zfs set xattr=sa rpool
zfs set sync=standard rpool
zfs set dnodesize=auto rpool

cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_min=25769803776
options zfs zfs_arc_max=34359738368

Es wäre sehr nett, wenn Ihr eure FIO Testergebnisse hier posten würdet.

Danke u.
LG
 
Last edited:
Es wäre sehr nett, wenn Ihr eure FIO Testergebnisse hier posten würdet.
Ein kleiner Punkt noch: Du testest in einem Verzeichnis, ist das Absicht? Unter ZFS liegen VMs in Volumes und im SAN-Umfeld fast ausschließlich im LVM, daher bitte einen Block-Level-Test und keinen File-Level-Test bei fio, das macht mehr sinn.

Wenn du generelle Werte willst, die viele Leute getestet haben kann ich dir folgende Seite empfehlen:

http://www.sebastien-han.fr/blog/20...-if-your-ssd-is-suitable-as-a-journal-device/

Ich habe vor einiger Zeit mal angefangen eine Benchmark-Seite im Wiki anzulegen, das ist aber mangels Zeit wieder etwas eingeschlafen, ein bisschen steht aber schon drauf:

https://pve.proxmox.com/wiki/Benchmarking_Storage

Ein paar Benchmarks hätte ich dann aber doch noch für dich:

upload_2019-8-3_17-0-42.png

und

upload_2019-8-3_17-1-27.png
 
Hallo Lnxbil,

ja, der File Level Test war Absicht.

Im Prinzip wollte ich nur das verhalten der VM testen.

Proxmox - SAN/ FC 16Gbit - VM CentOS 7.6 - lvtest m. xfs

In der Firma schafe ich mit folgendem fio command gerade mal so 20m/sec bei iodepth=1
fio --name=testfile --rw=read --size=1g --directory=/test --direct=1 --blocksize=4k --iodepth=1 --ioengine=libaio


Bei meinem Proxmox Zuhause schaffe ich die 120+ MB/sec. iodepth=1


Ich habe hier noch einen alten Rechner Dell i7-2600 mit einer alten Intel 240GB SSD auf einem ESXi 6.0 laufen - selbst der alte Hobel schafft locker die 70MB/Sec ;(

Sobald aber FC SAN / bzw. NFS ins Spiel kommt, ist Ende mit der Power.
 
Last edited:
Hier, ein Test direkt auf das Device.

[ff@katello# fio --name=job1 --rw=read --size=5g --filename=/dev/sdc --direct=1 --blocksize=4k --iodepth=1 --ioengine=libaio
job1: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [R(1)][100.0%][r=129MiB/s,w=0KiB/s][r=33.1k,w=0 IOPS][eta 00m:00s]
job1: (groupid=0, jobs=1): err= 0: pid=8873: Sat Aug 3 17:43:15 2019
read: IOPS=32.6k, BW=127MiB/s (134MB/s)(5120MiB/40209msec)
slat (usec): min=4, max=112, avg= 6.32, stdev= 1.92
clat (nsec): min=1110, max=822534, avg=21809.37, stdev=3821.10
lat (usec): min=20, max=829, avg=28.60, stdev= 4.53
clat percentiles (nsec):
| 1.00th=[19328], 5.00th=[19840], 10.00th=[20352], 20.00th=[20608],
| 30.00th=[20864], 40.00th=[20864], 50.00th=[21120], 60.00th=[21120],
| 70.00th=[21376], 80.00th=[21632], 90.00th=[22144], 95.00th=[26240],
| 99.00th=[38656], 99.50th=[42752], 99.90th=[54528], 99.95th=[57088],
| 99.99th=[69120]
bw ( KiB/s): min=111648, max=133405, per=99.99%, avg=130376.16, stdev=2597.15, samples=80
iops : min=27912, max=33351, avg=32594.03, stdev=649.28, samples=80
lat (usec) : 2=0.01%, 10=0.01%, 20=6.18%, 50=93.61%, 100=0.20%
lat (usec) : 250=0.01%, 500=0.01%, 1000=0.01%
cpu : usr=10.09%, sys=36.74%, ctx=1310673, majf=0, minf=32
IO depths : 1=100.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 rwt: total=1310720,0,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
READ: bw=127MiB/s (134MB/s), 127MiB/s-127MiB/s (134MB/s-134MB/s), io=5120MiB (5369MB), run=40209-40209msec

Disk stats (read/write):
sdc: ios=1308739/0, merge=0/0, ticks=26048/0, in_queue=25817, util=64.18%

Meine Settings mit MQ CentOS 7.6

/etc/default/grub
GRUB_CMDLINE_LINUX="rd.lvm.lv=vg0/lvroot rd.lvm.lv=vg0/lvswap scsi_mod.use_blk_mq=y dm_mod.use_blk_mq=y rhgb quiet"

[root@katello ~]# ./check.sh
-----------------------------------------------------------------------------
Kernel Settings:
scsi-mq = Y
dm-mq = Y

Disk Scheduler:
/sys/class/block/sda/queue/scheduler is [mq-deadline] kyber none
/sys/class/block/sdb/queue/scheduler is [mq-deadline] kyber none
/sys/class/block/sdc/queue/scheduler is [mq-deadline] kyber none

Spinning Disk?
/sys/block/sda/queue/rotational is 0
/sys/block/sdb/queue/rotational is 0
/sys/block/sdc/queue/rotational is 0
-----------------------------------------------------------------------------
 
Last edited:
Hier noch mit iodepth=32

fio --name=job1 --rw=read --size=5g --filename=/dev/sdc --direct=1 --blocksize=4k --iodepth=32 --ioengine=libaio
job1: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=32
fio-3.1
Starting 1 process
Jobs: 1 (f=1): [R(1)][100.0%][r=451MiB/s,w=0KiB/s][r=116k,w=0 IOPS][eta 00m:00s]
job1: (groupid=0, jobs=1): err= 0: pid=8973: Sat Aug 3 18:01:07 2019
read: IOPS=106k, BW=415MiB/s (435MB/s)(5120MiB/12336msec)
slat (usec): min=2, max=125, avg= 6.48, stdev= 1.84
clat (usec): min=29, max=930, avg=292.69, stdev=27.01
lat (usec): min=33, max=935, avg=299.66, stdev=27.80
clat percentiles (usec):
| 1.00th=[ 231], 5.00th=[ 235], 10.00th=[ 241], 20.00th=[ 293],
| 30.00th=[ 297], 40.00th=[ 297], 50.00th=[ 302], 60.00th=[ 302],
| 70.00th=[ 306], 80.00th=[ 306], 90.00th=[ 310], 95.00th=[ 314],
| 99.00th=[ 338], 99.50th=[ 355], 99.90th=[ 478], 99.95th=[ 502],
| 99.99th=[ 545]
bw ( KiB/s): min=394000, max=515648, per=99.36%, avg=422289.67, stdev=32971.54, samples=24
iops : min=98500, max=128912, avg=105572.42, stdev=8242.89, samples=24
lat (usec) : 50=0.01%, 100=0.01%, 250=15.40%, 500=84.55%, 750=0.05%
lat (usec) : 1000=0.01%
cpu : usr=16.75%, sys=80.56%, ctx=54454, majf=0, minf=64
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.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.1%, 64=0.0%, >=64=0.0%
issued rwt: total=1310720,0,0, short=0,0,0, dropped=0,0,0
latency : target=0, window=0, percentile=100.00%, depth=32

Run status group 0 (all jobs):
READ: bw=415MiB/s (435MB/s), 415MiB/s-415MiB/s (435MB/s-435MB/s), io=5120MiB (5369MB), run=12336-12336msec

Disk stats (read/write):
sdc: ios=1286176/0, merge=0/0, ticks=27564/0, in_queue=26057, util=99.22%
 
Sobald aber FC SAN / bzw. NFS ins Spiel kommt, ist Ende mit der Power.

Also FC ist normalerweise sehr schnell. Habe vor kurzem meine ersten Erfahrungen mit einem NVMe SAN gemacht ... das legt nochmals ne gute Schippe drauf was die IOPS angeht. Generell ist ja wichtig, dass du selten IO-Tiefen von 1 hast ... eben so selten wie Tiefen von 32, aber mit 32 testen ja alle ihre Benchmarks. Auch SSDs sind auf parallelen Zugriff ausgelegt und erst dort wird die enorme Bandbreite möglich.

NFS ist einfach nur langsam im Vergleich zu FC. Ich muss aber auch immer dazu sagen, dass ich nur auf Block-Storage teste, da ich immer nur das auch verwende. Wenn man den Vergleich von roher Power und Dateisystem macht kommt es auch noch stark auf das Dateisystem an.
 
das FC echt Power hat, glaube ich schon aber die Schwäche dürfte wirklich eine Geringe IO -Tiefe ohne paralleln Zugriff sein.
Wir haben in der Arbeit eine Application die testet bei jedem Upgrade die Disk Performance u. da kommt leider immer der niedrige Wert raus.
Auch verhällt sich das System eher träge.

Genau, geht es um einen Foreman/Katello Server mit über 1500 managed VM's

Angenommen eine Application fordert IO-T=1 - gibt es unter Linux eine Möglichkeit eine andere IO-T zu forcieren? Also aus 1 wird 8 usw.

Unter VMware, kannst du im Gast System die beiden Werte anpassen.

/sys/module/vmw_pvscsi/parameters/cmd_per_lun
/sys/module/vmw_pvscsi/parameters/ring_pages

Unter KVM kenn ich da leider nix
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!