您好,
是的,這個問題很可能與 SMB Multichannel、網路介面設定、Receive Side Scaling(RSS),以及網卡本身的硬體能力有關。需要注意的是,系統有多張可用網卡,不代表 SMB 一定會自動使用所有網卡進行傳輸。
建議先確認 SMB Multichannel 是否正常運作,再檢查網卡及 RSS 設定。
首先,在用戶端和伺服器分別使用 PowerShell(系統管理員)執行:
Get-SmbClientConfiguration | Select EnableMultichannel
Get-SmbServerConfiguration | Select EnableMultichannel
Get-SmbClientNetworkInterface
Get-SmbServerNetworkInterface
確認 EnableMultichannel 為 True,並檢查網路介面的 RSS Capable、RDMA Capable 和 Link Speed 等資訊。如果預期使用的網卡沒有出現在清單中,應優先檢查網卡驅動程式、韌體及網路介面設定。
接著檢查 RSS 和 RDMA 狀態:
Get-NetAdapter
Get-NetAdapterRSS
Get-NetAdapterRDMA
RSS 應在支援此功能的網卡上正常啟用。它能將網路封包處理分散至多個 CPU 核心,避免單一 CPU 核心成為傳輸瓶頸。如果網卡支援 RDMA,也應確認相關功能、驅動程式及交換器設定是否正確。
最關鍵的檢查是確認 SMB 是否實際建立多條連線。
在用戶端執行檔案傳輸期間,執行:
Get-SmbMultichannelConnection
如果需要查看未被選取的網路介面,可以執行:
Get-SmbMultichannelConnection -IncludeNotSelected
重點檢查 Selected、Client IP、Server IP、Client RSS Capable 和 Client RDMA Capable 等欄位。如果只有一條連線被選取,代表其他網路介面可能受到路由、連通性、防火牆或 SMB Multichannel 網路選擇條件的限制。
另外,也可以檢查網卡的 SMB 協定繫結:
Get-NetAdapterBinding -ComponentID ms_server,ms_msclient
確認相關網路介面的 SMB Server 和 SMB Client 繫結沒有被停用。
如果以上設定都正常,但傳輸速度仍然偏低,建議進一步檢查網路介面是否位於不同子網路、是否存在 NIC Teaming、Hyper-V 虛擬交換器或防火牆限制,以及網卡是否受到 CPU、磁碟 I/O 或交換器頻寬的限制。
為了進一步判斷問題,請提供 Windows 用戶端和伺服器版本、網卡型號及速度(例如 2 × 10GbE),以及 Get-SmbMultichannelConnection 的執行結果。也請確認目前是否使用 NIC Teaming。
透過這些資訊,可以進一步判斷問題究竟出在 SMB Multichannel 未正確建立連線、RSS 未正常運作,還是網卡或其他硬體資源成為效能瓶頸,而不必盲目修改網路設定。
希望以上資訊能幫助您更深入了解並解決問題。如果這些內容對您有所幫助,歡迎將此答案標記為已接受。若還有其他問題,請隨時留言,我很樂意繼續協助。祝您一切順利!
Domic Vo.