PowerEdge: Ottimizzazione delle prestazioni di I/O di piccole dimensioni per le unità NVMe dietro i controller PERC in Linux
Summary: 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. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
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.
Affected Products
PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xdArticle Properties
Article Number: 000443257
Article Type: How To
Last Modified: 10 أبريل 2026
Version: 2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.