Performance Probleme

Jetzt bin ich noch verwirrter ab deinen proxmox-backup-client benchmarks.

Müsste normalerweise nicht ein TLS speed bei PVE sein, weil PVE per TLS die Daten senden und hingegen auf PBS kein TLS speed, weil du dort keine Daten sendest?

Bei dir ist es genau umgekehrt, du hast keine TLS auf dem PVE, dafür auf PBS.
 
hab mal zum spass den benchmark bei mir laufen lassen.

TLS wird bei mir weder auf dem PVE, noch auf dem PBS getestet, also zumindest mit proxmox-backup-client benchmark nicht.
Da ich das Zeug aber nie benachmarke hab ich evtl was falsch gemacht.

edit: wenn man es richtig macht, kommt hinten auch was bei raus.

musste auf dem pve proxmox-backup-client benchmark --repository root@pam@pbs-hostname:datastorename verwenden um TLS zum PBS messen zu können :)

auf dem pbs habe ich dann proxmox-backup-client benchmark --repository datastorename laufen lassen und ebenfalls einen TLS-Wert bekommen, der aber um den Faktor 3 höher war als bei pve-Host.
 
Last edited:
PVE Knoten:

Code:
Uploaded 1405 chunks in 5 seconds.
Time per request: 3575 microseconds.
TLS speed: 1173.15 MB/s
SHA256 speed: 1602.78 MB/s
Compression speed: 483.65 MB/s
Decompress speed: 775.22 MB/s
AES256/GCM speed: 9474.32 MB/s
Verify speed: 522.91 MB/s
┌───────────────────────────────────┬─────────────────────┐
│ Name                              │ Value               │
╞═══════════════════════════════════╪═════════════════════╡
│ TLS (maximal backup upload speed) │ 1173.15 MB/s (95%)  │
├───────────────────────────────────┼─────────────────────┤
│ SHA256 checksum computation speed │ 1602.78 MB/s (79%)  │
├───────────────────────────────────┼─────────────────────┤
│ ZStd level 1 compression speed    │ 483.65 MB/s (64%)   │
├───────────────────────────────────┼─────────────────────┤
│ ZStd level 1 decompression speed  │ 775.22 MB/s (65%)   │
├───────────────────────────────────┼─────────────────────┤
│ Chunk verification speed          │ 522.91 MB/s (69%)   │
├───────────────────────────────────┼─────────────────────┤
│ AES256 GCM encryption speed       │ 9474.32 MB/s (260%) │
└───────────────────────────────────┴─────────────────────┘


PBS:

Code:
Uploaded 1687 chunks in 5 seconds.
Time per request: 2976 microseconds.
TLS speed: 1409.29 MB/s
SHA256 speed: 1742.74 MB/s
Compression speed: 523.13 MB/s
Decompress speed: 841.84 MB/s
AES256/GCM speed: 10225.60 MB/s
Verify speed: 570.35 MB/s
┌───────────────────────────────────┬──────────────────────┐
│ Name                              │ Value                │
╞═══════════════════════════════════╪══════════════════════╡
│ TLS (maximal backup upload speed) │ 1409.29 MB/s (114%)  │
├───────────────────────────────────┼──────────────────────┤
│ SHA256 checksum computation speed │ 1742.74 MB/s (86%)   │
├───────────────────────────────────┼──────────────────────┤
│ ZStd level 1 compression speed    │ 523.13 MB/s (70%)    │
├───────────────────────────────────┼──────────────────────┤
│ ZStd level 1 decompression speed  │ 841.84 MB/s (70%)    │
├───────────────────────────────────┼──────────────────────┤
│ Chunk verification speed          │ 570.35 MB/s (75%)    │
├───────────────────────────────────┼──────────────────────┤
│ AES256 GCM encryption speed       │ 10225.60 MB/s (281%) │
└───────────────────────────────────┴──────────────────────┘
 
Hmm... scheint also nicht das bottleneck zu sein.
Eventuell die Firewall? Wird es schneller, wenn das backup im lokalen Netzwerk geschieht?

Komisch ist auch dieser Bottleneck:
Wenn wir händisch eine Datei von einem PVE zum PBS kopieren, dann erreichen wir 3,5 Gbit/s
eigentlich müssten ja locker 10GBit/s drinliegen.
PBS könnte ja laut FIO mit 80GBit/s schreiben.
Was bremst hier?
 
Last edited:
Das Backup ist im lokalen Netzwerk. PBS und PVE hängen am gleichen Switch. Ohne Regeln auf dem Switch, ohne QoS, ohne Firewall.

Nachtrag: Im Kopiervorgang mit SCP erhalte ich nun run 7 Gbit/s. Rsync ist hier deutlich langsamer.
 
Last edited:
  • Like
Reactions: IsThisThingOn
Bestimmt bei 100% (cpu)core Auslastung bei scp mit 7Gbit/s bzw. entsprechend früher mit rsync - siehe in "top".
 
Da auf dem PVE der Backupclient läuft, limitiert das der Compression Speed auf 483MB/s.
Wenn du das nicht schaffst, liegt das nicht an Proxmox. Ich erreiche überall den Maximum Compression Speed.

Wenn du nicht so viel schaffst, musst du mal während einem Full Backup genau schauen, welche Komponenten ausgelastet sind.
Ich nutze gern nmon, da man dort gut sehen kann wie busy die Disks sind, was die zweit häufigste Bremse ist.
 
Daher wäre interessant wer bremst, wenn es nicht die CPU ist. P.S. wenn die Daten komprimiert sind, hast du natürlich weniger Netzwerktraffic.
 
  • Like
Reactions: IsThisThingOn
Wie gesagt, mal mit Tools wie z.B. nmon schauen ob eventuell die Source Disks busy sind.
 
Also wir haben jetzt alles gemonitored, sowohl PVE als auch PBS:

PVE:
- RAM immer genügend frei
- CPU maximal 40% Auslastung
- disk util %: 2,4
- rawait / wawait: 1,5

PBS:
- RAM immer genügend frei
- CPU maximal 20% Auslastung
- disk util %: 1,0
- rawait / wawait: 4,8
 
Last edited:
Also der Backupjob sollte ja nicht so viel CPU auslasten. 40% Usage ist je nachdem was für VMs darauf laufen schon recht viel, aber nicht Auslastungstechnisch sondern vermutlich eher Warteschlangentechnisch.
Entweder du teilst mal mit wie viele VMs mit wie vielen vCPUs während des Backups laufen, oder mal zum testen alle VMs bis auf die wo das Backup läuft wegmigrieren/Ausschalten.
So rein aus Erfahrung vermute ich da dein Problem.
 
Also wir können nicht in Produktivumgebungen einfach mal VMs ausschalten. Da das Problem aber global über alle PVE-Nodes und alle Backup Knoten nahezu identisch ist, liegt hier vermutlich nicht das Problem.
Zudem ist es normal, dass Produktive VMs auch CPU verbrauchen, eine 40% CPU Auslastung sehe ich als nicht kritisch an.

Schade, dass sich hier niemand vom Proxmox Support Team meldet.
 
Nicht vergessen, 40% sind nicht gleich 40%.
Bei Terminalserver Farmen wäre das eher wenig ausgelastet. Bei normalen APP Servern eher extrem ausgelastet.
Schau dir mal den CPU Pressure und I/O Pressure während des Backups an.