PowerEdge: Ottimizzazione delle prestazioni di I/O di piccole dimensioni per le unità NVMe dietro i controller PERC in Linux
Riepilogo: In Linux, le unità NVMe collegate dietro un controller RAID PowerEdge (PERC) possono presentare prestazioni inferiori al previsto durante i test dei carichi di lavoro di I/O di piccole dimensioni. Ciò si verifica perché il sistema operativo identifica queste unità come dispositivi a blocchi SCSI standard (/dev/sdX) anziché come dispositivi NVMe nativi (/dev/nvmeXnX). Questa identità comporta l'applicazione di utilità di pianificazione I/O predefinite non ottimali. ...
Questo articolo si applica a
Questo articolo non si applica a
Questo articolo non è legato a un prodotto specifico.
Non tutte le versioni del prodotto sono identificate in questo articolo.
Istruzioni
La root cause
- NVMe nativa: Le unità NVMe connesse direttamente utilizzano code di comandi profonde gestite dall'hardware. Linux imposta l'utilità di pianificazione su none per evitare colli di bottiglia a livello di sistema operativo.
- NVMe dietro PERC: L'unità viene presentata come dispositivo SCSI quando è gestita da un controller PERC. La maggior parte delle distribuzioni Linux utilizza per impostazione predefinita l'utilità di pianificazione affinché i dispositivi SCSI
mq-deadline. - Il conflitto: La colonna
mq-deadlineScheduler è stato progettato per le unità meccaniche legacy per ottimizzare il tempo di ricerca e ridurre al minimo il movimento della testina. Per le unità NVMe ad alta velocità, questo scheduler aggiunge latenza e overhead della CPU non necessari, limitando gli IOPS totali.
Verifica e regolazione immediata
L'utilità di pianificazione deve essere impostata su none per ottenere il numero massimo di IOPS per carichi di lavoro di I/O di piccole dimensioni.
- Controllare l'utilità di pianificazione corrente:
- Eseguire il seguente comando come super-user (sostituire <sdX> con il nome del dispositivo, ad esempio <sda>):
cat /sys/block/{sdX}/queue/scheduler
Esempio di output: (le parentesi indicano l'utilità di pianificazione attiva).
- Impostare l'utilità di pianificazione su none (Runtime) utilizzando il seguente comando per applicare immediatamente la modifica:
echo "none" > /sys/block/{sdX}/queue/scheduler
Garantire la persistenza
La modifica manuale di cui sopra non è persistente e si ripristina dopo un riavvio. Anche /dev/sdX Gli identificatori possono cambiare se le unità vengono aggiunte o rimosse. Per rendere permanente questa modifica, si consiglia di creare una regola UDEV basata sul WWID del dispositivo.
Nota: Anche le prestazioni di I/O di grandi dimensioni possono essere influenzate. Per le unità NVMe dietro un controller PERC, si consiglia di impostare l'utilità di pianificazione delle code Linux su none.
Prodotti interessati
PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xdProprietà dell'articolo
Numero articolo: 000443257
Tipo di articolo: How To
Ultima modifica: 09 lug 2026
Versione: 3
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.