SMB 速度慢 - QES

通過 SMB 協議在上述 NAS 設備上建立的共享資料夾下載/上傳檔案時,傳輸速度介於 180-200MB/s 之間。在目標 NAS 伺服器與用戶端電腦之間,有一台交換器,其配置完全支援 10Gb/s 的速度。我想說明,於上述 NAS 伺服器的 SCA 控制器中已安裝 10GBase-T 擴充卡。

我通過 SSH 連線並使用 “ifcfg status eth8” 指令檢查了所用連接埠的狀態。
我也使用 iperf3 進行了連線測試。我使用了 “iperf3 -c -P 64” 指令,確認該連線能夠達到約 10Gb/s 的速度。

所有 NAS 伺服器插槽及擴充槽皆已安裝硬碟,並以這些硬碟組成 RAID5,然後利用上述 RAID 的全部空間建立了一個共享資料夾。

我沒有看到提到任何設備,只看到關於 QES 的說明。請問可以補充這些資訊(使用的型號和韌體)嗎?

@user712471326

感謝您提供如此詳細的技術資訊,關於您在 QES 系統上的 SMB 效能。我們非常感謝您進行的 iperf3ifcfg 診斷,這些結果證實您的 10GbE 網路骨幹運作良好。

為協助我們進一步調查這個 SMB 傳輸瓶頸(180-200MB/s),請您協助釐清以下幾點:

  1. 問題發生的時間線: 傳輸速度之前是否正常,最近才出現此問題?還是從一開始設定時就一直維持這個速度?
  2. 跨裝置測試: 當您從其他配備 10GbE 網卡的客戶端電腦連接時,是否也觀察到相同的速度限制?這將有助於判斷瓶頸是出現在某個客戶端還是 NAS 設定。

鑑於您的硬體環境較為複雜(SCA 控制器及 QES 上的 RAID 5),我們強烈建議您開立正式的支援服務單,好讓我們的資深工程師能深入分析您的系統日誌。

請在此提交服務單: https://service.qnap.com/

此致
QNAP 支援團隊

該設備為 Es1686dc R2,韌體版本為 2.2.1.2513 Build 20251126

在完成初始設定後,我們開始將資料從舊的 QNAP 伺服器傳輸到新的 Es1686dc R2(韌體版本 2.2.1.2513 Build 20251126)。在最初的幾天內,網路運作完全正常,速度可達 900-1000MB/s。期間,QNAP Es1686dc R2 伺服器的設定並未做任何更動。大約在首次啟用一個月後,問題開始出現。我和我的團隊測試了不同的用戶端機器,以確認問題是否會發生在不同設備上。在每台設備上,儘管是 10Gbps 連線,速度都維持在約 200MB/s。我們也測試了不同的網路線、MTU 9000 以及不同的 SMB 標準——但都沒有獲得正面的結果。

如果你習慣透過 SSH 和命令列存取你的 NAS,有幾件事你可以檢查一下。這些操作都不會做任何更動——你只是在用主控台介面查詢網路堆疊。

首先是

cat /sys/class/net/eth0/speed

[如果你不是用 eth0 網路埠,可能需要把上面指令中的值改成你實際使用的網路埠。]我有一台 TVS672XT,內建 10Gb 埠,所以執行上述指令時會看到回應 “10000”。這可以讓你確認 NAS 的網路介面卡確實以 10Gb 運作,沒有因為其他(也就是外部)問題降速。

你還可以試試另一個指令:

ifconfig -a

這個指令會有不少輸出,但很容易看出每個實體/虛擬介面各自分成一塊。如果你找到預設介面(通常是 eth0),可以看看輸出的第 3、4 行,這裡會顯示錯誤或丟包的數量。以下是我在 672 上執行這個指令時的結果:

eth0 Link encap:Ethernet HWaddr 24:5E:BE:53:7F:06
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:222358095 errors:0 dropped:161 overruns:0 frame:0
TX packets:372509639 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:230092094401 (214.2 GiB) TX bytes:455412818198 (424.1 GiB)

如你所見,這個介面在 31 天(自上次重開機以來)丟了 161 個封包。如果你發現有大量錯誤或丟包,可能代表有更深層的問題。

最後,雖然這可能無法直接告訴你確切的問題,但可以排除協定相關的挑戰。如果你有一台 unix 或 linux 主機,可以啟用 NFS 網路協定,然後用 NFS 取代 CIFS 來測試效能。

Microsoft Windows 11 Pro 內建支援 NFS,但必須先啟用才能使用。請自行 Google 啟用方式……一旦你的工作站有可用的 NFS 用戶端,並且已經在控制台啟用 NFS,就可以用兩種不同的網路協定做並排測試。如果這裡有明顯差異,那就很可能是協定層的問題;如果結果相同或非常接近,那就比較像是連線的傳輸層或實體層出了問題……

最後,你最初的問題描述顯示效能一開始正常,之後才變差。如果變化很突然,可能是某處做了變動——這裡的“變動”可以很廣泛,可能是「有人動了網路線,結果留下了邊緣連接」……也可能是技術設定上的變更。如果是慢慢變差,可能是資源慢慢耗盡、記憶體漏失或類似狀況。你可以嘗試重開所有設備(NAS、主機和網路設備)來排除這種可能性。雖然這不一定能找到問題,但也許能縮小排查範圍……

當通過 SSH 連接到伺服器時,我們使用的指令與在 QTS 中使用的不同。這裡,我有一個 “ifcfg” 指令。例如,新增變數 “status eth8” 會回傳以下資訊:

好的,從這裡我們可以發現幾件事情……在硬體層面,你的確是以 10Gb/s 的速度運行——至少從 NAS 到你的交換器是如此。另外,從 “MTU … 9000” 的設定來看,可以看到你已經啟用了 “jumbo” 封包——這正是你在 10Gb/s 網路上獲得最佳效能所需要的。

這當然還不能下定論……但你已經成功排除了潛在的問題。

如果你能在這次傳輸的“另一端”也做同樣的檢查,並確認那邊也設為 10Gb……那麼你的下一步可能就是查看錯誤/丟包的數據……以及/或將兩台主機都設定為使用 NFS,然後進行並排比較。

我的經驗比較久遠……但我記得 NFS 在“線路上”應該比 CIFS 更有效率,因為後者相較之下“比較囉嗦”。不過這些資料來自十多年前——NFSv4 以及現在最新的 CIFS 版本可能已經有所改變。

我對於速度最初是10Gbps這一事實感到好奇。我們想知道這是否是因為不支援SMB多通道(SMB Multichannel)。

https://www.qnap.com/en/how-to/faq/article/does-qes-support-smb-multichannel

我會建議你暫時先把這個問題擱置一旁——至少一開始如此——因為你描述的是一個效能隨時間下降的問題。相容性問題——至少就我所知——通常是比較二元的:要嘛能用,要嘛不能用。根據你的問題描述,我確實不認為相容性是根本原因。

我認為我們應該回到你所描述的「問題是什麼」和「問題不是什麼」來聚焦。

讓我們試著再縮小一點範圍……

  1. 你的網路上是否有其他 NAS 或伺服器設備可以讓你的用戶端進行測試,以便你能明確判斷問題是否出在某一特定設備上?
  2. 你能否建立或設定某種可重複、可量化的測試,來獲得一些客觀的速度測試數據?例如,你可以寫一個 Windows Shell 腳本,將計時歸零,從 NAS 複製一個或多個檔案到主機(或從主機到 NAS),然後記錄所花的時間。如果你有這樣一個簡單的 Shell 腳本,能夠在不同主機和不同時間點重複執行,對你會非常有幫助。
  3. 你的設備應該是透過某些網路設備作為中介連接——你可能在工作站和 NAS 之間有一個或多個乙太網路交換器。例如,首先……你是否能夠把用戶端實體移到 NAS 的同一地點,重新執行測試,排除所有中間網路設備的影響?再來,你的網路設備是受管理的還是非管理型的?如果是前者,也許你可以用 SNMP 工作站從網路設備拉取一些有用的效能數據。
  4. 在你的 QNAP NAS 上,可以透過 SSH 執行「ethtool」——你可以 Google 查詢所有指令列選項的意義及如何組合使用來取得資料……在 Windows 上,你可以用 Powershell 的「Get-NetAdapterStatistics」來查詢作業系統對本機網路介面的效能評價……
  5. 我已經提過,但我認為如果你能在相關主機間測試非 CIFS 協定會有幫助。我建議你試試 NFS——設定 NAS 支援 NFS 連線(記得正確設定版本)會是個不錯的開始。如果不行,也可以考慮用 ftp 或 sftp。
  6. 第六點是顯而易見的——變更。問題發生在你已經順利運作一段時間之後,這強烈暗示有什麼東西改變了。你沒有描述你的組織規模或你對技術變更的控管嚴謹度……所以有沒有可能是某個只和你主要關注範圍間接相關的問題造成的?也許檢查一下變更紀錄,或和其他管理你環境的人員聊聊?
  7. 第七點是可靠性……不是針對 NAS(這方面通常是要嘛能用要嘛不能用),而是例如你有沒有哪顆硬碟狀況邊緣?你的 NAS 是否有設定在偵測到硬碟問題時對外發送警報?S.M.A.R.T. 監控報告是否一切正常?
  8. 第八點是你的網路使用率。你有沒有辦法檢查網路上是否有其他設備佔用頻寬,導致 NAS 很難傳送封包?這也是為什麼我建議第一步是把你的用戶端工作站和 NAS 實體放在一起——臨時把它們接到同一個交換器,確保只有這兩台設備連接,然後重跑效能測試。如果還是失敗,那你就知道問題出在其中一台設備;如果成功,那你就可以「反向追蹤」——逐步把工作站移遠,直到效能下降。
  9. 現在我們來談一些比較特殊的可能原因……你有沒有檢查過你的工作站在「Remote File Dirt Page」閾值方面的表現?這可能會導致你遇到的這種問題。基本上,Windows 用戶端對「髒」和「未儲存」資料有預設緩衝區設定(通常大約 5GB)。一旦超過這個閾值,系統就會停止接收新資料,直到已寫入磁碟。有個登錄檔參數「RemoteFileDirtyPageThreshold」(可以 Google 查詢),你可以在測試前後調整,看看有沒有差異。
  10. 如果你還沒這麼做,務必也去問問 Microsoft 支援社群——規模更大(原因顯而易見),也許有人遇過和你描述的情況類似的問題。

我很清楚上面列出的方法有點像散彈槍式的做法(我有試著讓測試順序有點邏輯性)。希望即使你沒辦法完全照著做,也能給你一些可以追蹤的方向……

SMB 多通道(multi-channel)是在你有多張網路卡(NIC)並希望獲得更快連線時使用的。所以如果你有兩張 2.5 Gbit/s 的網路卡,你可以同時利用這兩張卡來通過 SMB 連線傳輸資料。

你也可以用雙路或更多 10 Gbps 連線來實現,但這聽起來不是你的問題。在我看來,你是在單一 10 Gbps 連線下沒有達到預期速度,而多通道(multi-channel)並不會有幫助。

我們還有另一台舊的 QNAP QTS Hero NAS 伺服器連接在網路上。通過 SMB 複製檔案到/從該伺服器時,速度可達到預期的 1GB/s。

我們將測試工作站直接連接到 es1686dc R2 NAS 伺服器的 10Gbps 埠。儘管是無交換器的直接連接,傳輸速度仍然徘徊在 200MB/s 左右。

這台 QNAP 沒有 “ethtool” 指令。以下是可用指令的清單。

我已執行 SMART 測試——所有硬碟都正常,並且也檢查了事件日誌——沒有錯誤或警告。

我測試了 FTP 連線——結果比 SMB 還差,也就是約 95MB/s。

在三十多台電腦中的其中一台,我們遇到速度超過 200MB/s 的情況。更具體來說,速度可達約 600MB/s,但速度不穩定,即在 300-600MB/s 之間波動——完全沒有連線穩定性。

使用 iperf 從 QNAP 直接到目標電腦檢查速度。如果你在那裡只能達到 10G,這是由以下因素造成的:

  1. 檔案的類型和數量(大小)

  2. NAS 或電腦上還有什麼程式在運行

  3. 目標電腦的寫入快取大小。只要有幾個 GB 的檔案,你就可以達到最大速度。

任何需要從 NAS 讀取後才能傳輸的內容都會大幅降低傳輸速度。如果電腦的寫入快取滿了也是一樣。

如果你想傳輸大量資料,大約 500MB/s 是比較實際的。

我已經在全球無數台 QNAP、電腦、伺服器和儲存系統上測試過這一點。

– 由「Mr worldwide」以德文發表,翻譯成英文 –

在第一則訊息中,我展示了 iperf3 的結果。該連線支援 10Gbps。檔案的數量和大小並不重要,因為當嘗試傳送或下載單一 100-500GB 的檔案時,速度依然穩定在約 200MB/s。

在 QNAP 上檢查,儲存空間與快照,總覽,選擇一個磁碟,檢查磁碟健康狀態,進階,確認所有磁碟的 NCQ 都是啟用(ACTIVE)

同時也要檢查你的所有 10Gbit 介面——電腦和 QNAP 都是運作在 10Gbit,而不是 2.5Gbit

另外,在測試連線速度時,我們始終以免費的 Blackmagic Speedtest 軟體作為參考 = 測試介面和硬碟。- 也要確認 QNAP 沒有正在進行重建作業,因為重建期間速度也會受限,這取決於重建速度。

大家好。經過幾天的努力,我們找到了一個部分的解決方案。首先,我要說明我們已經重新啟動了 ES1686DC R2。我們嘗試了各種儲存池和 RAID 配置,並設置了所有可能的共用資料夾。我們也更換了交換器、調整了交換器上的設定,以及更換了網路線和用戶端電腦。此外,第二台 NAS,TS-h1277AXU-RP,在整個過程中都連接在網路上,而且一直都能以全速(10Gbps)運作,完全沒有任何問題。

我們團隊一起發現了一個有趣的狀況。在用戶端執行以下指令,停用 SMB 簽章(SMB signature)之後:

Set-SmbClientConfiguration -RequireSecuritySignature $false

速度從 200MB/s 提升到了 650MB/s。不過,我們仍然無法完全解決這個問題。有人曾經遇過與 SMB 簽章(SMB signing)相關的潛在問題嗎?

我補充一下用戶端電腦的資訊:
Windows 11 Pro(25H2)
ASUS ProArt X870E
AMD Ryzen 9 9950X
192GB 記憶體
網路卡:Aquantia/Marvell AQC113 FastLinQ Edge 10Gbit 網路介面卡
硬碟:3x Samsung SSD 9100 PRO 4TB

1個讚