Fixing SMB Performance: Windows + Proxmox/Samba over 10GbE
The Problem
Transferring files via Windows Explorer (SMB) to a Proxmox server over 10GbE tops out at ~5 Gbit/s instead of the expected ~9.5 Gbit/s. The initial burst may appear fast (filling RAM cache) before settling to this reduced speed.
Environment
- Client: Windows PC with AMD 7950X3D, Mellanox ConnectX-4 Lx 25GbE NIC
- Server: Proxmox with Mellanox ConnectX-4 Lx 25GbE NIC, Samba 4.22+
- Network: 10GbE switch between both endpoints
Root Cause
Samba does not auto-detect RSS (Receive Side Scaling) capability on Linux NICs. Without advertising RSS, Windows cannot open multiple SMB channels over a single NIC, limiting throughput to a single TCP stream (~5 Gbit/s).
The Fix
Step 1: Update Mellanox Drivers on Windows
Download and install the latest WinOF-2 driver from NVIDIA’s website. The driver must be recent — early drivers (pre-2020) do not properly expose RSS to the SMB stack.
Nvidia: WinOF-2 / WinOF Drivers
Verify the driver version in PowerShell:
Get-NetAdapter -Name "Ethernet 3" | Select DriverVersion, DriverDate
Step 2: Enable SMB Multichannel in Samba
Edit /etc/samba/smb.conf on Proxmox and add the following under the [global] section (Update the IP for your Proxmox server’s Ip):
server multi channel support = yes
interfaces = "192.168.1.80;capability=RSS,speed=10000000000"
Replace 192.168.1.80 with your Proxmox server’s actual IP address. Set the speed value to your link speed in bits per second (10000000000 = 10 Gbit/s).
Restart Samba:
systemctl restart smbd
Step 3: Verify
Check that RSS is now recognized and multichannel is active:
Get-SmbMultichannelConnection
The Client RSS Capable column should show True.
Optional Tweaks
Enable jumbo frames (MTU 9000) on both NICs and the switch for reduced per-packet overhead.
Verifying Network Health
Use iperf3 to confirm the raw network can deliver full speed independent of SMB (Use your Proxmox Server’s Ip):
# Proxmox
iperf3 -s
# Windows
iperf3 -c 192.168.1.80 -P 4
Expected result: ~9.5 Gbit/s with 4 parallel streams on a 10GbE link.