Un SSD NVMe può rallentare durante i backup di file di piccole dimensioni perché i metadati, le scritture casuali, le barriere di sincronizzazione e il carico della CPU creano un collo di bottiglia diverso rispetto alla copia di un singolo file di grandi dimensioni.
La parola “throttling” viene spesso usata per indicare qualsiasi calo di velocità, ma il throttling termico è solo una delle possibilità. I backup di file di piccole dimensioni creano ripetutamente voci nelle directory, aggiornano date, ore e permessi, aprono e chiudono file, calcolano checksum, comprimono o crittografano i dati e registrano i metadati. L’NVMe può mostrare un valore MB/s inferiore mentre elabora più operazioni al secondo e presenta una latenza maggiore. Confronta carichi di lavoro locali della stessa dimensione prima di modificare il raffreddamento o sostituire l’unità.
Dimostra la differenza con test locali della stessa dimensione
Crea un file di grandi dimensioni e una struttura di directory composta da file piccoli con lo stesso payload totale. Copiali localmente sulla stessa destinazione NVMe, registrando il tempo trascorso, gli IOPS, la latenza, l’utilizzo della CPU e la temperatura.
Fio definisce modalità di I/O sequenziale e casuale separate, consentendo al test di isolare la forma del carico di lavoro invece di confrontare esecuzioni di backup non omogenee.
Se la copia locale del file grande rimane veloce mentre la creazione dei file piccoli rallenta, probabilmente il collegamento PCIe e il percorso NAND sequenziale sono disponibili. Prosegui analizzando metadati, latenza della coda, cache, CPU e temperatura.
Misura le operazioni sui metadati invece dei soli MB/s
Monitora file al secondo, creazioni, chiusure, rinominazioni, aggiornamenti delle directory, scritture ACL, attributi estesi e operazioni di sincronizzazione. Confrontali con il throughput del payload.
Red Hat descrive lo storage con file piccoli come intensivo in termini di metadati, spiegando perché migliaia di file piccoli possono produrre MB/s ridotti senza raggiungere il limite di larghezza di banda sequenziale dell’NVMe.
Un backup può quindi essere impegnato e funzionare correttamente pur mostrando una velocità in byte deludente. Valutalo in base ai file completati, alla latenza e ai requisiti di ripristino, oltre che al throughput.
Verifica se la pulizia della cache aumenta la latenza di scrittura
Registra lo spazio libero, i byte scritti, la latenza sostenuta e l’eventuale ripristino delle prestazioni dopo un periodo di inattività. Confronta un’area di test appena sottoposta a TRIM con la normale destinazione del backup solo quando è sicuro farlo.
Crucial spiega che la raccolta dei rifiuti attiva può influire sulla velocità dell’SSD, soprattutto quando il dispositivo ha poco tempo di inattività o poco spazio riutilizzabile.
Le scritture casuali di piccole dimensioni possono richiedere più spostamenti interni rispetto a un singolo flusso sequenziale. Mantieni un margine di spazio libero ed evita di presumere che la velocità sequenziale dichiarata si applichi alle scritture di piccole dimensioni in condizioni operative stabili.
Controlla la latenza della coda e la saturazione del dispositivo
Acquisisci la latenza media delle richieste, la profondità della coda, l’utilizzo, le velocità di lettura e scrittura e l’attesa I/O della CPU durante entrambi i test. Cerca una latenza elevata associata a valori MB/s moderati.
Il report di iostat aiuta a mostrare quando il dispositivo è saturo a causa di molte richieste di piccole dimensioni, anche se il throughput aggregato rimane molto al di sotto delle specifiche sequenziali.
Aumentare la concorrenza del backup può migliorare le prestazioni di un dispositivo poco utilizzato, ma peggiorare una coda già satura. Modifica una sola impostazione relativa ai worker o alla coda alla volta.
Separa i record del filesystem dal payload dei file
Individua i filesystem di origine e destinazione e i metadati che ogni backup conserva. Su NTFS, registra la crescita della MFT e verifica se vengono copiati descrittori di sicurezza, flussi alternativi e timestamp.
Microsoft afferma che la MFT contiene almeno un record per ogni file, illustrando perché molti file piccoli generano un lavoro sui record del filesystem molto maggiore rispetto a un singolo file della stessa dimensione complessiva.
Se il backup conserva ACL, xattr, intervalli sparsi o checksum, includi questo lavoro nel confronto. Disattivare le funzioni di integrità solo per migliorare un benchmark può indebolire il backup.
Verifica il reale throttling termico invece di dedurlo
Registra la temperatura composita dell’NVMe, il tempo degli avvisi termici, il tempo di attività del controller e le prestazioni prima e dopo il miglioramento del raffreddamento. Ripeti il test con un flusso d’aria stabile e lo stesso insieme di file piccoli.
Kingston spiega che il throttling termico riduce le prestazioni finché l’SSD non torna a una temperatura sicura.
Se il throughput diminuisce senza raggiungere una soglia di temperatura e senza un avviso termico, definiscilo un collo di bottiglia del carico di lavoro anziché throttling termico. Il raffreddamento non risolverà la serializzazione dei metadati né l’hashing limitato dalla CPU.
Ottimizza il livello del backup che raggiunge effettivamente la saturazione
Prova una modifica moderata, come ridurre il numero di worker per i checksum, aggiungere un solo worker per la copia, raggruppare i metadati, usare un manifest locale o escludere le cache rigenerabili. Conserva i metadati essenziali per il ripristino.
L’articolo di ZimaSpace sui test delle copie SMB con file piccoli tratta le copie di rete; questo articolo isola l’NVMe locale e la pipeline del backup quando la copia locale del file grande rimane veloce.
La diagnosi è completa quando il rallentamento viene ricondotto al tasso dei metadati, alla latenza delle scritture casuali, alla pulizia della cache, al carico della CPU o a un throttling termico verificato, e una modifica mirata migliora lo stesso test controllato con file piccoli.
Supporto e consigli
Altro da leggere

Plex può condividere una GPU con un altro container Docker?
Plex e un altro container possono spesso accedere alla stessa GPU, ma è necessario testare il supporto dei driver, la mappatura dei dispositivi, il...

Come capire se un errore di Plex proviene dal client o dal server
Riproduci lo stesso elemento su un altro client, confronta il percorso della sessione, quindi raccogli le prove dal server solo dopo che l’ambito ti...

Come configurare la cache di Plex e l’archiviazione temporanea per la transcodifica
Proteggi lo stato persistente di Plex collocando i file temporanei di transcodifica su un’unità locale adatta, quindi verifica la pulizia, lo spazio libero e...

