# Performance Tweaks

> [Performance Tweaks](https://pve.proxmox.com/wiki/Performance_Tweaks)

Alcuni consigli per massimizzare la performance delle VM:

- Usare i driver `virtIO` per i dischi e le schede di rete

Su Windows:

- Disabilitare `USB tablet device`
- Usare immagine disco RAW e non qcow2
- Non utilizzare il driver Virtio Balloon

## Disk Cache

In Proxmox l’opzione `cache` definisce la politica di caching del disco virtuale, cioè come vengono gestite le operazioni di I/O tra il guest (VM), l’host Proxmox e lo storage fisico.

- `cache=none`: sembra offrire le migliori prestazioni ed è l'impostazione predefinita da Proxmox 2.X.
- `cache write back`: è una strategia di gestione della cache per le operazioni di scrittura sullo storage. Quando si utilizza questa configurazione, i dati scritti nelle VM vengono prima memorizzati nella cache e successivamente scritti in modo asincrono sul disco fisico. Questa configurazione permette una maggiore velocità nelle operazioni di scrittura, poiché le applicazioni non devono attendere che i dati siano scritti effettivamente sul disco. Nel caso di un'interruzione di corrente o un crash del sistema, ci può essere il rischio di perdita di dati non ancora scritti sul disco
- `writethrough`: ogni operazione di scrittura viene eseguita sia sulla cache che sul disco fisico contemporaneamente. L’applicazione *riceve conferma solo dopo che i dati sono stati scritti su entrambi i livelli*. È la modalità di cache più sicura: non si possono perdere dati, ma è anche più lenta.
- `directsync`: i dati vengono scritti sia nella cache che sul disco fisico, ma l’applicazione *riceve conferma non appena i dati sono scritti sul disco*, indipendentemente dallo stato della cache. Questo implica che la cache non è sempre aggiornata, quindi in caso di letture successive, i dati potrebbero non essere coerenti con quelli in cache
- `unsafe`: scrive i dati solo nella cache e posticipa la scrittura sul disco, senza alcuna garanzia di sincronizzazione in caso di interruzioni. Prestazioni massime, poiché le scritture sono estremamente veloci, ma con un rischio elevatissimo di perdita dati in caso di interruzioni o crash del sistema
