Performance Probleme

Ist quasi das gleiche, wie mann man bei der VM in der UI einfach sagt "Start Backup now".
Im "Quasi" kann die Würze liegen ;-) . Wenn dort Firmeninterna/Namen genutzt werden ersetze die einfach durch Platzhalter.
Restliche Statistiken sehen i.O. aus, auch wenn ich mich wunder das das Backup auf dem PVE nicht mind. in den Top-4 Prozessen landet. Vllt nochmal schauen wieviel CPU das auf dem PVE wirklich nutzt. Daher auch wichtig: Wie sieht euer Befehl aus.
 
Hier mal vom PBS die Max Werte für die letzten 24 Stunden:

View attachment 94725

Ansonsten hier die anderen Werte:

View attachment 94726
View attachment 94727


View attachment 94728

View attachment 94729



Mit fio bei einem 4k random Write und Random Read schafft der Server rund 300k IOPs kontant. Von daher würde ich hier die Disk ausschließen.

Die Grafiken sind von letzter Nacht. hier haben wir gerade einmal 1Gbit/s geschafft.
Dein I/O Delay ist aber heftig. Ich gehe schon auf Suche wenn der 5ms übersteigt. Da passt irgendwas gar nicht.
 
  • Like
Reactions: fstrankowski
Und jetzt die große Frage: Was stimmt nicht?
Danke
Gib mir Zugriff auf deinen Server und ich schaue mir das an.
Meine Glaskugel weiß nicht ob es ein Hardware Fehler oder falsche Konfiguration ist.
 
  • Like
Reactions: fstrankowski
Gegenfrage, was kann man bei PBS falsch konfigurieren? Wir haben quasi standard konfiguration. Installiert, Datastore als eigene Partition angelegt und fertig.
Z.B. sind manche Default Einstellungen von RAID Controllern sehr bescheiden.
Da kann man richtig die Handbremse anziehen.
Bei HPE ist z.B. bei SSDs immer Smartpath aktiviert, was mit RAID5 oder Raid6 dann deutlich langsamer als HDDs wird.
 
Gegenfrage, was kann man bei PBS falsch konfigurieren? Wir haben quasi standard konfiguration. Installiert, Datastore als eigene Partition angelegt und fertig.
Was kann man beim Kochen von Pfannkuchen falsch machen? Die Frage ist schon schwierig :) Gibt unzählige Fehlerquellen.
Du sagst ja kopieren geht flott, aber Backup schreiben nicht. Muss man halt schauen wo da der Flaschenhals liegt.
 
Z.B. sind manche Default Einstellungen von RAID Controllern sehr bescheiden.
Da kann man richtig die Handbremse anziehen.
Bei HPE ist z.B. bei SSDs immer Smartpath aktiviert, was mit RAID5 oder Raid6 dann deutlich langsamer als HDDs wird.
Würde in diesem Fall aber nicht erklären, warum eine Filecopy bei ihm mit mehreren GB/s läuft, das Backup aber nicht.

Idee: Vielleicht schon: Das Backup wird in Chunks geschrieben, die Filecopy ist eine Datei. Vllt in diese Richtung denken?
 
Last edited:
Würde in diesem Fall aber nicht erklären, warum eine Filecopy bei ihm mit mehreren GB/s läuft, das Backup aber nicht.
Genau das ist der Punkt. Wenn das System ja generell langsam wäre, dann würde ich es verstehen. Habe mit Linux Boardmitteln alles auf Performance getestet, alle Varianten die mir eingefallen sind und die ich im Internet gefunden habe. Überall habe ich richtig leistung. Nur eben nicht beim PVE-PBS Backup, das ist das komische daran.
 
Ich denke gerade in die Richtung Chunks vs eine Datei. Das eine sind viele kleine "Dateien", das andere eine große Blob. Vllt hat das Storage damit Probleme?

Und gib bitte mal euren "Backup-Befehl".
 
Last edited:
Wenn die Einstellungen auf dem Controller bescheiden sind, leidet zuerst die I/O Performance (kleine Chunks) aber der Durchsatz bei großen Full Stripe Writes ist OK.
 
Habe jetzt gerade die VM auf einen leeren PVE Knoten migriert und das Backup gestartet.
Hier die Ausgabe von iostat und dem anderen Befehl:

Code:
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    0.04    0.00    0.00   99.90

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
dm-0              0.00         0.00         0.00         0.00       4868          0          0
dm-1             28.60         1.32       343.21         0.00    1483204  385950328          0
sda              22.12         1.34       343.21         0.00    1507268  385950336          0
sdb               0.96        38.66       844.55         0.00   43475148  949720612          0

Code:
# ps -eo pid,user,%cpu,%mem,etime,comm --sort=-%cpu | head -n 5
    PID USER     %CPU %MEM     ELAPSED COMMAND
2615630 root      172  1.0       02:52 kvm
2623475 root      100  0.0       00:00 ps
   2686 root      1.1  0.0 13-00:22:50 corosync
   2719 root      0.6  0.0 13-00:22:49 pvestatd

Controller Konfig gebe ich euch gleich auch noch durch.


PS: Befehl besorg ich dir, dauert leider bisschen.
 
Wenn die Einstellungen auf dem Controller bescheiden sind, leidet zuerst die I/O Performance (kleine Chunks) aber der Durchsatz bei großen Full Stripe Writes ist OK.
Da kenne ich mich leider nicht so gut aus, vielleicht finden sich ja hier andere, welche mit Dell HW Raid Controllern mehr Erfahrung haben. Ich denke jedoch, dass die Richtung schon zielführend sein kann, das würde alle bisherigen Erklärungen zulassen und Raum für etwaige Fehler lassen.
 
Hier die RAID Config

Code:
CLI Version = 008.0013.0000.0007 Mar 13, 2025
Operating system = Linux6.17.2-1-pve
Controller = 1
Status = Success
Description = None


/c1/v1 :
======

--------------------------------------------------------------------
DG/VD TYPE  State Access CurrentCache DefaultCache        Size Name
--------------------------------------------------------------------
0/1   RAID6 Optl  RW     NR,WB        NR,WB        250.000 GiB OS
--------------------------------------------------------------------

Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|CurrentCache-Current Cache Status
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|Access-Access Policy


PDs for VD 1 :
============

------------------------------------------------------------------------------------------------------------------------------
EID:Slt PID State Status DG       Size Intf Med SED_Type SeSz Model                                    Sp LU/NS Count Alt-EID
------------------------------------------------------------------------------------------------------------------------------
289:0   275 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:1   276 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:2   277 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:3   278 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:4   279 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:5   280 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:6   281 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:7   282 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:8   283 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:9   284 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:10  285 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:11  286 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
------------------------------------------------------------------------------------------------------------------------------

EID-Enclosure Persistent ID|Slt-Slot Number|PID-Persistent ID|DG-DriveGroup
UConf-Unconfigured|UConfUnsp-Unconfigured Unsupported|Conf-Configured|Unusbl-Unusable
GHS-Global Hot Spare|DHS-Dedicated Hot Spare|UConfShld-Unconfigured Shielded|
ConfShld-Configured Shielded|NonRAIDShld-NonRAID Shielded|GHSShld-GHS Shielded|DHSShld-DHS Shielded
UConfSntz-Unconfigured Sanitize|ConfSntz-Configured Sanitize|NonRAIDSntz-NonRAID Sanitize|GHSSntz-GHS Sanitize
DHSSntz-DHS Sanitize|UConfDgrd-Unconfigured Degraded|ConfDgrd-Configured Degraded|NonRAIDDgrd-NonRAID Degraded
GHSDgrd-GHS Degraded|DHSDgrd-DHS Degraded|Various-Multiple LU/NS Status|Med-Media|SED-Self Encryptive Drive
SeSz-Logical Sector Size|Intf-Interface|Sp-Power state|U-Up/On|D-Down/PowerSave|T-Transitioning|F-Foreign
NS-Namespace|LU-Logical Unit|LUN-Logical Unit Number|NSID-Namespace ID|Alt-EID-Alternate Enclosure Persistent ID


VD1 Properties :
==============
Strip Size = 64 KiB
Block Size = 4096
Number of Blocks = 65536000
Span Depth = 1
Number of Drives = 12
Drive Write Cache Policy = Enabled
Default Power Save Policy = Default
Current Power Save Policy = Default
Access Policy Status = VD has desired access
Auto BGI = On
Secured = No
Init State = No Init
Consistent = Yes
Morphing = No
Cache Preserved = No
Bad Block Exists = No
VD Ready for OS Requests = Yes
Reached LD BBM failure threshold = No
Exposed to OS = Yes
Creation Time(LocalTime yyyy/mm/dd hh:mm:sec) = 2025/01/23 21:03:05
Default Cachebypass Mode = Cachebypass Not Performed For Any IOs
Current Cachebypass Mode = Cachebypass Not Performed For Any IOs
SCSI NAA Id = 6c0470e0daf1ab006792a07915aa6b2d
OS Drive Name = /dev/sda
LU/NS Count used per PD = 1
Data Format for I/O = PRP
Serial Number = x


/c1/v2 :
======

--------------------------------------------------------------------
DG/VD TYPE  State Access CurrentCache DefaultCache        Size Name
--------------------------------------------------------------------
0/2   RAID6 Optl  RW     NR,WB        NR,WB        139.458 TiB DATA
--------------------------------------------------------------------

Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|CurrentCache-Current Cache Status
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|Access-Access Policy


PDs for VD 2 :
============

------------------------------------------------------------------------------------------------------------------------------
EID:Slt PID State Status DG       Size Intf Med SED_Type SeSz Model                                    Sp LU/NS Count Alt-EID
------------------------------------------------------------------------------------------------------------------------------
289:0   275 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:1   276 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:2   277 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:3   278 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:4   279 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:5   280 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:6   281 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:7   282 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:8   283 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:9   284 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:10  285 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
289:11  286 Conf  Online  0 13.970 TiB NVMe SSD -        512B Dell Ent NVMe PM1733a RI 15.36TB         U            1 -
------------------------------------------------------------------------------------------------------------------------------

EID-Enclosure Persistent ID|Slt-Slot Number|PID-Persistent ID|DG-DriveGroup
UConf-Unconfigured|UConfUnsp-Unconfigured Unsupported|Conf-Configured|Unusbl-Unusable
GHS-Global Hot Spare|DHS-Dedicated Hot Spare|UConfShld-Unconfigured Shielded|
ConfShld-Configured Shielded|NonRAIDShld-NonRAID Shielded|GHSShld-GHS Shielded|DHSShld-DHS Shielded
UConfSntz-Unconfigured Sanitize|ConfSntz-Configured Sanitize|NonRAIDSntz-NonRAID Sanitize|GHSSntz-GHS Sanitize
DHSSntz-DHS Sanitize|UConfDgrd-Unconfigured Degraded|ConfDgrd-Configured Degraded|NonRAIDDgrd-NonRAID Degraded
GHSDgrd-GHS Degraded|DHSDgrd-DHS Degraded|Various-Multiple LU/NS Status|Med-Media|SED-Self Encryptive Drive
SeSz-Logical Sector Size|Intf-Interface|Sp-Power state|U-Up/On|D-Down/PowerSave|T-Transitioning|F-Foreign
NS-Namespace|LU-Logical Unit|LUN-Logical Unit Number|NSID-Namespace ID|Alt-EID-Alternate Enclosure Persistent ID


VD2 Properties :
==============
Strip Size = 64 KiB
Block Size = 4096
Number of Blocks = 37435473920
Span Depth = 1
Number of Drives = 12
Drive Write Cache Policy = Enabled
Default Power Save Policy = Default
Current Power Save Policy = Default
Access Policy Status = VD has desired access
Auto BGI = On
Secured = No
Init State = No Init
Consistent = Yes
Morphing = No
Cache Preserved = No
Bad Block Exists = No
VD Ready for OS Requests = Yes
Reached LD BBM failure threshold = No
Exposed to OS = Yes
Creation Time(LocalTime yyyy/mm/dd hh:mm:sec) = 2025/01/23 21:11:48
Default Cachebypass Mode = Cachebypass Not Performed For Any IOs
Current Cachebypass Mode = Cachebypass Not Performed For Any IOs
SCSI NAA Id = 6c0470e0daf1ab006792a284217fe195
OS Drive Name = /dev/sdb
LU/NS Count used per PD = 1
Data Format for I/O = PRP
Serial Number = x
 
Kannst Du bitte einmal einen FIO-Test auf dem PBS machen? Auf das entsprechende Datastore:

Code:
fio --name=seq_write_4m --ioengine=libaio --direct=1 --invalidate=1 \
    --rw=write --bs=4m --iodepth=16 --numjobs=1 \
    --time_based --runtime=120 --ramp_time=10 --group_reporting \
    --directory=/mnt/datastore/fiotest --filename=fio_4m_testfile --size=10G

Code:
fio --name=rand_write_4m --ioengine=libaio --direct=1 --invalidate=1 \
    --rw=randwrite --bs=4m --iodepth=16 --numjobs=1 \
    --time_based --runtime=120 --ramp_time=10 --group_reporting \
    --directory=/mnt/datastore/fiotest --filename=fio_4m_testfile --size=10G
 
Warum hast du denn 2 virtual disk raid6 auf den gleichen ssds erstellt (sda+sdb) und nicht 1 (=nur sda), die du per OS partitionierst ?
 
Anbei die Ausgabe von deinen beiden fio befehle auf dem PBS:

Code:
# fio --name=seq_write_4m --ioengine=libaio --direct=1 --invalidate=1     --rw=write --bs=4m --iodepth=16 --numjobs=1     --time_based --runtime=120 --ramp_time=10 --group_reporting     --directory=/mnt/datastore/Backup/ --filename=fio_4m_testfile --size=10G
seq_write_4m: (g=0): rw=write, bs=(R) 4096KiB-4096KiB, (W) 4096KiB-4096KiB, (T) 4096KiB-4096KiB, ioengine=libaio, iodepth=16
fio-3.39
Starting 1 process
seq_write_4m: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=10.3GiB/s][w=2640 IOPS][eta 00m:00s]
seq_write_4m: (groupid=0, jobs=1): err= 0: pid=1323202: Fri Jan  9 15:23:00 2026
  write: IOPS=2575, BW=10.1GiB/s (10.8GB/s)(1208GiB/120001msec); 0 zone resets
    slat (usec): min=189, max=3618, avg=381.58, stdev=53.83
    clat (usec): min=634, max=14323, avg=5829.14, stdev=531.55
     lat (usec): min=892, max=14777, avg=6210.72, stdev=534.14
    clat percentiles (usec):
     |  1.00th=[ 5276],  5.00th=[ 5407], 10.00th=[ 5473], 20.00th=[ 5538],
     | 30.00th=[ 5604], 40.00th=[ 5669], 50.00th=[ 5735], 60.00th=[ 5800],
     | 70.00th=[ 5866], 80.00th=[ 5932], 90.00th=[ 6128], 95.00th=[ 6521],
     | 99.00th=[ 8029], 99.50th=[ 8979], 99.90th=[12387], 99.95th=[12911],
     | 99.99th=[13435]
   bw (  MiB/s): min= 8617, max=10936, per=100.00%, avg=10305.46, stdev=434.91, samples=240
   iops        : min= 2154, max= 2734, avg=2576.34, stdev=108.74, samples=240
  lat (usec)   : 750=0.01%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=99.71%, 20=0.29%
  cpu          : usr=63.47%, sys=25.96%, ctx=2741028, majf=0, minf=69
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 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=0,309116,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):
  WRITE: bw=10.1GiB/s (10.8GB/s), 10.1GiB/s-10.1GiB/s (10.8GB/s-10.8GB/s), io=1208GiB (1297GB), run=120001-120001msec

Disk stats (read/write):
  sdb: ios=0/1664983, sectors=0/2739102064, merge=0/107698, ticks=0/2430517, in_queue=2430517, util=80.81%

Code:
# fio --name=rand_write_4m --ioengine=libaio --direct=1 --invalidate=1 \
    --rw=randwrite --bs=4m --iodepth=16 --numjobs=1 \
    --time_based --runtime=120 --ramp_time=10 --group_reporting \
    --directory=/mnt/datastore/Backup --filename=fio_4m_testfile --size=10G
rand_write_4m: (g=0): rw=randwrite, bs=(R) 4096KiB-4096KiB, (W) 4096KiB-4096KiB, (T) 4096KiB-4096KiB, ioengine=libaio, iodepth=16
fio-3.39
Starting 1 process
Jobs: 1 (f=1): [w(1)][100.0%][w=10.2GiB/s][w=2602 IOPS][eta 00m:00s]
rand_write_4m: (groupid=0, jobs=1): err= 0: pid=1324449: Fri Jan  9 15:25:26 2026
  write: IOPS=2607, BW=10.2GiB/s (10.9GB/s)(1222GiB/120002msec); 0 zone resets
    slat (usec): min=228, max=1392, avg=381.65, stdev=43.35
    clat (usec): min=778, max=9139, avg=5753.19, stdev=238.42
     lat (usec): min=1070, max=9546, avg=6134.85, stdev=248.02
    clat percentiles (usec):
     |  1.00th=[ 5276],  5.00th=[ 5407], 10.00th=[ 5473], 20.00th=[ 5538],
     | 30.00th=[ 5604], 40.00th=[ 5669], 50.00th=[ 5735], 60.00th=[ 5800],
     | 70.00th=[ 5866], 80.00th=[ 5932], 90.00th=[ 6063], 95.00th=[ 6128],
     | 99.00th=[ 6390], 99.50th=[ 6521], 99.90th=[ 6849], 99.95th=[ 6980],
     | 99.99th=[ 7242]
   bw (  MiB/s): min= 9920, max=10856, per=100.00%, avg=10433.94, stdev=252.34, samples=240
   iops        : min= 2480, max= 2714, avg=2608.45, stdev=63.08, samples=240
  lat (usec)   : 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=100.00%
  cpu          : usr=62.50%, sys=27.68%, ctx=3065209, majf=0, minf=67
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 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=0,312937,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):
  WRITE: bw=10.2GiB/s (10.9GB/s), 10.2GiB/s-10.2GiB/s (10.9GB/s-10.9GB/s), io=1222GiB (1313GB), run=120002-120002msec

Disk stats (read/write):
  sdb: ios=2/1629497, sectors=24/2763173936, merge=1/73631, ticks=1/2547075, in_queue=2547076, util=79.55%



Bezgl. der Backup Erstellung hier habe ich Rückmeldung:

Es wird per Proxmox API gestartet: https://pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/vzdump

- all - immer auf 0 gesetzt
- vmid - Entsprechende VM ID
- storage - Das Backup Ziel, der passende PBS Knoten
- remove - Anzahl der Backups die gelöscht werden sollen, wenn ein limit überschritten wird.
- maxfiles - Optional
- compress - zstd
- mode - snapshot
 
saubere Trennung. Ist auch Dell Best Practice Empfehlung.
Macht nur Sinn bei unterschiedlichen Platten, aber hier sind es die Gleichen !!
Außerdem würde ich die Vdisks auf readahead setzen, weil die PBS chunks 1,5-4MB groß sind und du x FS 4k requests dazu erzeugst, die alle eine zusätzliche Latency erzeugen, anstatt sie bereits im Vorfeld in den ctrl Cache zu holen.