O copie de fișier între două mașini Windows într-o LAN gigabit scade la viteza de melc în momentul în care ambele se conectează la același VPN, în timp ce un test de debit între aceeași pereche raportează încă aproape viteza liniei. Problema nu este legătura și nici discul. SMB3 Multichannel a adăugat în tăcere o a doua conexiune TCP care trece prin tunel, iar copia așteaptă canalul care este cel mai lent. Eliminarea acelei rute din SMB readuce viteza LAN-ului.

O singură partajare poate călători pe mai multe conexiuni TCP

Multichannel permite unui client să deschidă conexiuni independente către un singur server, una pentru fiecare pereche de adrese potrivită. Într-o LAN simplă poate exista o singură pereche, așa că nu se întâmplă nimic surprinzător. Adăugați un adaptor VPN pe ambele mașini și Windows vede o a doua pereche, adresă de tunel contra adresă de tunel, și deschide un canal prin ea.

Canalul respectiv este criptat, împarte CPU-ul cu tunelul și traversează aceeași legătură WAN ca orice altceva. O copie care ar fi folosit doar LAN-ul are acum un membru lent în set, iar SMB nu îl abandonează în tăcere.

Un test de debit fixat pe adresa LAN arată încă sănătos, și exact de aceea cele două măsurători diferă atât de abrupt.

Dovediți că tunelul există înainte de a schimba ceva

Rulați interogările pe client în timp ce o copie este în curs, pentru că o listă de canale este interesantă doar când este vie.

Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress
Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens

Mai mult de un rând selectat pentru același server este confirmarea de care aveți nevoie. Rezolvați adresa client a rândului suspect la o interfață. Dacă aliasul respectiv este adaptorul VPN, canalul este real și nu o intrare veche.

Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias

Adresele diferă pe fiecare mașină, așa că citiți-le pe cele pe care le raportează propria ieșire în loc să tastați exemplele de mai sus.

Scoateți tunelul din SMB și reporniți ambele capete

Dezactivarea Multichannel este o modificare atât pe client, cât și pe server, iar făcută doar pe o parte lasă cealaltă parte liberă să continue să ofere interfața. Canalele existente supraviețuiesc setării, așa că planificați o repornire în loc să vă așteptați ca următoarea copie să se comporte altfel.

Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Force
Get-SmbClientConfiguration | Select-Object EnableMultiChannel

După repornire, listați interfețele pe care serverul le oferă pentru SMB. Adaptorul de tunel ar trebui să fi dispărut din acea listă. Dacă este încă prezent, setarea a ajuns la capătul greșit sau o sesiune veche este încă deschisă.

Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed

Când obiectivul este mai îngust decât dezactivarea Multichannel peste tot, debifarea componentei de server de la adaptorul de tunel oprește partajarea prin acesta, lăsând restul VPN-ului neatins.

Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server

Preferiți LAN-ul și măsurați de două ori în același fel

O metrică de interfață nu elimină un canal, dar direcționează conexiunile noi către legătura fizică și ține traficul nelegat departe de tunel. Copiați aliasul din ieșire în loc să îl tastați, pentru că este localizat pe unele instalări.

Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000

Apoi repetați ambele măsurători: copia de fișier și un test de debit cu un singur flux. Dacă copia își revine în timp ce testul de debit rămâne neschimbat, tunelul nu a fost niciodată gâtul de sticlă. Dacă ambele se prăbușesc, ruta VPN este limita și Multichannel doar a făcut-o vizibilă. Comparați cu o copie făcută înainte de conectarea VPN-ului, pentru că aceasta este singura linie de bază care izolează schimbarea.

Dezactivarea Multichannel costă debit pe serverele care oferă într-adevăr mai multe rute rapide, așa că reactivați-l când VPN-ul iese din scenă. Notați ce adaptor ați schimbat, pentru că următoarea persoană va găsi setarea, nu motivul.

Articole similare