Perché una copia SMB rallenta quando entrambi i PC si collegano alla stessa VPN
SMB3 Multichannel può aggiungere un canale tunnel a una copia LAN e trascinarla sul percorso più lento. Confermate il canale, poi scollegatelo o disattivatelo e ripetete il test.
Una copia di file tra due macchine Windows su una LAN gigabit precipita a passo di lumaca nel momento in cui entrambe si collegano alla stessa VPN, mentre un test di throughput tra la stessa coppia riporta ancora quasi la velocità di linea. Il problema non è il collegamento né il disco. SMB3 Multichannel ha aggiunto silenziosamente una seconda connessione TCP che passa per il tunnel, e la copia attende il canale più lento. Rimuovere quel percorso da SMB riporta la velocità della LAN.
Una sola condivisione può viaggiare su più connessioni TCP
Multichannel consente a un client di aprire connessioni indipendenti verso un server, una per ogni coppia di indirizzi adatta. In una LAN semplice può esserci una sola coppia, quindi non succede nulla di sorprendente. Aggiungete un adattatore VPN su entrambe le macchine e Windows vede una seconda coppia, indirizzo tunnel contro indirizzo tunnel, e apre un canale attraverso di essa.
Quel canale è crittografato, condivide la CPU con il tunnel e attraversa lo stesso collegamento WAN di tutto il resto. Una copia che avrebbe usato solo la LAN ora ha un membro lento nell'insieme, e SMB non lo scarta in silenzio.
Un test di throughput fissato all'indirizzo della LAN sembra ancora sano, ed è esattamente per questo che le due misurazioni divergono così nettamente.
Dimostrate che il canale del tunnel esiste prima di cambiare qualcosa
Eseguite le query sul client mentre una copia è in corso, perché un elenco di canali è interessante solo quando è attivo.
Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens
Più di una riga selezionata per lo stesso server è la conferma che vi serve. Risolvete l'indirizzo client della riga sospetta in un'interfaccia. Se quell'alias è l'adattatore VPN, il canale è reale e non una voce obsoleta.
Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias
Gli indirizzi variano su ogni macchina, quindi leggete quelli che riporta il vostro output invece di digitare gli esempi qui sopra.
Togliete il tunnel da SMB e riavviate entrambe le estremità
Disattivare Multichannel è una modifica sia sul client sia sul server, e farlo solo da un lato lascia l'altro libero di continuare a offrire l'interfaccia. I canali esistenti sopravvivono all'impostazione, quindi pianificate un riavvio invece di aspettarvi che la copia successiva si comporti diversamente.
Set-SmbClientConfiguration -EnableMultiChannel $false -Force Set-SmbServerConfiguration -EnableMultiChannel $false -Force Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Dopo il riavvio, elencate le interfacce che il server offre per SMB. L'adattatore del tunnel dovrebbe essere sparito da quell'elenco. Se è ancora presente, l'impostazione è finita sull'endpoint sbagliato o una vecchia sessione è ancora aperta.
Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed
Quando l'obiettivo è più stretto della disattivazione di Multichannel ovunque, scollegare il componente server dall'adattatore del tunnel ferma la condivisione su di esso lasciando intatto il resto della VPN.
Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Preferite la LAN e misurate due volte allo stesso modo
Una metrica di interfaccia non rimuove un canale, ma indirizza le nuove connessioni verso il collegamento fisico e tiene il traffico non correlato lontano dal tunnel. Copiate l'alias dall'output invece di digitarlo, perché su alcune installazioni è localizzato.
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000
Poi ripetete entrambe le misurazioni: la copia di file e un test di throughput a flusso singolo. Se la copia si riprende mentre il test di throughput resta invariato, il tunnel non è mai stato il collo di bottiglia. Se entrambi crollano, il percorso VPN è il limite e Multichannel lo ha solo reso visibile. Confrontate con una copia presa prima del collegamento della VPN, perché è l'unica linea di base che isola la modifica.
Disattivare Multichannel costa throughput sui server che offrono davvero più percorsi veloci, quindi riattivatelo quando la VPN esce di scena. Annotate quale adattatore avete modificato, perché la persona successiva troverà l'impostazione e non il motivo.