Bakit bumagal ang kopya ng SMB kapag parehong sumali sa VPN ang dalawang PC
Maaaring magdagdag ang SMB3 Multichannel ng channel ng tunnel sa isang kopya sa LAN at hilahin ito sa mas mabagal na landas. Kumpirmahin ang channel, pagkatapos alisin ang binding o i-disable ito at subukan muli.
Ang kopya ng file sa pagitan ng dalawang Windows machine sa isang gigabit LAN ay bumabagsak sa paggapang sa sandaling kumonekta ang dalawa sa parehong VPN, habang ang throughput test sa pagitan ng parehong pares ay nag-uulat pa rin ng halos bilis ng linya. Hindi ang link ang problema at hindi rin ang disk. Tahimik na nagdagdag ang SMB3 Multichannel ng pangalawang koneksyon ng TCP na dumadaan sa tunnel, at ang kopya naghihintay sa channel na pinakamabagal. Ang pag-alis ng landas na iyon mula sa SMB ay nagbabalik ng bilis ng LAN.
Maaaring dumaan ang isang share sa maraming koneksyon ng TCP
Pinapayagan ng Multichannel ang isang client na magbukas ng mga independiyenteng koneksyon sa isang server, isa para sa bawat angkop na pares ng address. Sa karaniwang LAN maaaring isa lang ang pares, kaya walang nakakagulat na nangyayari. Magdagdag ng VPN adapter sa dalawang machine at makikita ng Windows ang pangalawang pares, address ng tunnel laban sa address ng tunnel, at magbubukas ng channel sa pamamagitan nito.
Ang channel na iyon ay naka-encrypt, nagsasalo ng CPU sa tunnel at tumatawid sa parehong WAN link tulad ng lahat ng iba pa. Ang kopya na gagamit lang sana ng LAN ay mayroon nang mabagal na miyembro sa set, at hindi ito tahimik na binibitawan ng SMB.
Ang throughput test na naka-pin sa address ng LAN ay mukhang malusog pa rin, at iyon mismo ang dahilan kung bakit lubhang nagkakaiba ang dalawang pagsukat.
Patunayan na umiiral ang tunnel channel bago magbago ng anuman
Patakbuhin ang mga query sa client habang tumatakbo ang kopya, dahil ang listahan ng channel ay kawili-wili lamang kapag buhay ito.
Get-SmbMultichannelConnection | Where-Object Selected -eq $true | Format-Table ServerName, ClientIPAddress, ServerIPAddress Get-SmbConnection | Format-Table ServerName, Dialect, NumOpens
Ang higit sa isang napiling row para sa parehong server ang kumpirmasyong kailangan mo. I-resolve ang client address ng kahina-hinalang row sa isang interface. Kung ang alias na iyon ay ang VPN adapter, totoo ang channel at hindi isang lumang entry.
Get-NetIPAddress -IPAddress 10.8.0.6 | Format-List IPAddress, InterfaceAlias
Naiiba ang mga address sa bawat machine, kaya basahin ang mga iniuulat ng sarili mong output sa halip na i-type ang mga halimbawa sa itaas.
Alisin ang tunnel mula sa SMB at i-restart ang dalawang dulo
Ang pag-off ng Multichannel ay pagbabago sa client at server nang sabay, at ang paggawa nito sa isang panig lang ay nag-iiwan sa kabilang panig na malayang magpatuloy sa pag-aalok ng interface. Ang mga umiiral na channel ay nakakaligtas sa setting, kaya magplano ng restart sa halip na asahan na iba ang gagawin ng susunod na kopya.
Set-SmbClientConfiguration -EnableMultiChannel $false -Force Set-SmbServerConfiguration -EnableMultiChannel $false -Force Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Pagkatapos ng reboot, ilista ang mga interface na inaalok ng server para sa SMB. Dapat na nawala ang tunnel adapter sa listahang iyon. Kung naroon pa rin ito, napunta ang setting sa maling endpoint o may lumang session na bukas pa.
Get-SmbServerNetworkInterface | Format-List Name, InterfaceAlias, LinkSpeed
Kapag ang layunin ay mas makitid kaysa sa pag-disable ng Multichannel sa lahat ng dako, ang pag-unbind ng server component mula sa tunnel adapter ay naghinto ng pagbabahagi sa pamamagitan nito habang hindi ginagalaw ang natitirang VPN.
Get-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server Disable-NetAdapterBinding -Name "<vpn adapter>" -ComponentID ms_server
Bigyan ng priyoridad ang LAN at sukatin nang dalawang beses sa parehong paraan
Ang interface metric ay hindi nag-aalis ng channel, ngunit inihahatid nito ang mga bagong koneksyon patungo sa pisikal na link at inilalayo ang walang kaugnayang trapiko mula sa tunnel. Kopyahin ang alias mula sa output sa halip na i-type ito, dahil naka-localize ito sa ilang installation.
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric Set-NetIPInterface -InterfaceAlias "<vpn adapter>" -AutomaticMetric Disabled -InterfaceMetric 9000
Pagkatapos ay ulitin ang dalawang pagsukat: ang kopya ng file at isang single-stream throughput test. Kung bumabangon ang kopya habang hindi nagbabago ang throughput test, hindi kailanman naging bottleneck ang tunnel. Kung parehong bumagsak, ang landas ng VPN ang hangganan at ginawa lang itong nakikita ng Multichannel. Ihambing sa isang kopyang kinuha bago kumonekta ang VPN, dahil iyon lamang ang baseline na naghihiwalay sa pagbabago.
Ang pag-disable ng Multichannel ay may halaga sa throughput sa mga server na tunay na nag-aalok ng ilang mabilis na landas, kaya i-on muli ito kapag nawala ang VPN sa eksena. Itala kung aling adapter ang binago mo, dahil ang susunod na tao ay makikita ang setting at hindi ang dahilan.