PowerEdge:最佳化 Linux 中 PERC 控制器後方 NVMe 磁碟機的小型 I/O 效能

Summary: 在 Linux 中,連接至 PowerEdge RAID 控制器 (PERC) 的 NVMe 磁碟機在小型 I/O 工作負載測試期間,其效能可能會低於預期。 這是因為作業系統會將這些磁碟機識別為標準 SCSI 區塊裝置 (/dev/sdX),而非原生 NVMe 裝置 (/dev/nvmeXnX)。此標識會導致應用次優的預設 I/O 計劃程式。

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

根本原因

  • 原生 NVMe:直接連接的 NVMe 磁碟機會使用深度的硬體管理命令佇列。Linux 將其調度程式預設為無,以繞過操作系統級別的瓶頸。
NVMe mq-截止日期
  • PERC 背後的 NVMe:由 PERC 控制器管理時,磁碟機會顯示為 SCSI 裝置。大多數 Linux 發行版預設為 SCSI 裝置的排程器為 mq-deadline
  • 衝突:可使用 mq-deadline 排程器專為舊式機械磁碟機而設計,可最佳化尋道時間並最小化磁頭移動。若為高速 NVMe 磁碟機,此排程器會增加不必要的延遲和 CPU 額外負荷,並限制總 IOPS。

驗證與即時調整

排程器應設為 「無 」,以達到小型 I/O 工作負荷的最大 IOPS。

  • 檢查目前的排程器:
  1. 以超級使用者身份執行以下命令(將 sdX> 替換為<您的裝置名稱,例如 <sda>):
cat /sys/block/{sdX}/queue/scheduler
範例輸出:(括弧表示活動的調度程式。)
NVMe 排程器
  1. 使用下列命令將排程器變更none (執行階段),以立即套用變更:
echo "none" > /sys/block/{sdX}/queue/scheduler

確保持續性

上述手動變更 並非持續存在 ,而且會在重新開機後恢復。另外, /dev/sdX 如果新增或移除磁碟機,識別碼可能會變更。要使此更改永久生效,建議基於設備的 WWID 創建 UDEV 規則
 

注意:大型 I/O 效能也可能受到影響。若為 PERC 控制器後方的 NVMe 磁碟機,建議將 Linux 佇列排程器設為「無」。

Affected Products

PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xd
Article 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.