기가비트 LAN에서 두 Windows 컴퓨터 간의 파일 복사는 둘 다 같은 VPN에 연결되는 순간 기어가는 속도로 떨어지지만, 같은 쌍 사이의 처리량 테스트는 여전히 거의 회선 속도를 보고합니다. 문제는 링크도 아니고 디스크도 아닙니다. SMB3 Multichannel이 터널을 통해 실행되는 두 번째 TCP 연결을 조용히 추가했고, 복사는 가장 느린 채널을 기다립니다. SMB에서 그 경로를 제거하면 LAN 속도가 돌아옵니다.

하나의 공유가 여러 TCP 연결을 탈 수 있습니다

Multichannel을 사용하면 클라이언트가 하나의 서버에 독립적인 연결을 열 수 있으며, 적합한 주소 쌍마다 하나씩 열립니다. 일반 LAN에는 쌍이 하나뿐일 수 있으므로 놀라운 일은 일어나지 않습니다. 두 컴퓨터에 VPN 어댑터를 추가하면 Windows는 두 번째 쌍, 즉 터널 주소 대 터널 주소를 보고 그 위로 채널을 엽니다.

그 채널은 암호화되어 있고, 터널과 CPU를 공유하며 다른 모든 것과 같은 WAN 링크를 지납니다. LAN만 사용했을 복사의 집합에는 이제 느린 구성원이 들어 있고, SMB는 그것을 조용히 버리지 않습니다.

LAN 주소에 고정된 처리량 테스트는 여전히 건강해 보이며, 두 측정이 이렇게 날카롭게 어긋나는 이유가 바로 그것입니다.

무엇이든 바꾸기 전에 터널 채널이 존재함을 증명하십시오

채널 목록은 살아 있을 때만 흥미로우므로 복사가 진행되는 동안 클라이언트에서 쿼리를 실행하십시오.

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

같은 서버에 대해 선택된 행이 하나보다 많다는 것이 필요한 확인입니다. 의심스러운 행의 클라이언트 주소를 인터페이스로 확인하십시오. 그 별칭이 VPN 어댑터라면 채널은 실제이며 오래된 항목이 아닙니다.

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

주소는 컴퓨터마다 다르므로 위의 예를 입력하는 대신 자신의 출력이 보고하는 주소를 읽으십시오.

SMB에서 터널을 빼고 양쪽 끝을 다시 시작하십시오

Multichannel을 끄는 것은 클라이언트와 서버 모두에서의 변경이며, 한쪽에서만 하면 다른 쪽은 인터페이스를 계속 제공할 자유가 남습니다. 기존 채널은 설정 후에도 살아남으므로 다음 복사가 다르게 동작할 것이라고 기대하는 대신 재시작을 계획하십시오.

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

재부팅 후 서버가 SMB를 위해 제공하는 인터페이스를 나열하십시오. 터널 어댑터는 그 목록에서 사라져야 합니다. 여전히 있다면 설정이 잘못된 끝점에 적용되었거나 이전 세션이 아직 열려 있는 것입니다.

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

목표가 모든 곳에서 Multichannel을 비활성화하는 것보다 좁다면, 터널 어댑터에서 서버 구성 요소의 바인딩을 해제하면 그를 통한 공유가 중지되고 나머지 VPN은 그대로 남습니다.

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

LAN을 선호하고 같은 방식으로 두 번 측정하십시오

인터페이스 메트릭은 채널을 제거하지 않지만 새 연결을 물리적 링크로 유도하고 관련 없는 트래픽을 터널에서 멀리 유지합니다. 별칭은 일부 설치에서 지역화되어 있으므로 입력하지 말고 출력에서 복사하십시오.

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

그런 다음 파일 복사와 단일 스트림 처리량 테스트, 두 측정을 모두 반복하십시오. 복사가 회복되고 처리량 테스트가 변하지 않으면 터널은 결코 병목이 아니었습니다. 둘 다 무너지면 VPN 경로가 한계이고 Multichannel은 그것을 보이게 했을 뿐입니다. 변경을 분리하는 유일한 기준선은 VPN을 연결하기 전에 찍은 복사이므로 그것과 비교하십시오.

Multichannel을 비활성화하면 실제로 여러 빠른 경로를 제공하는 서버에서 처리량이 희생되므로 VPN이 화면에서 사라지면 다시 켜십시오. 다음 사람은 이유가 아니라 설정을 찾을 것이므로 어떤 어댑터를 변경했는지 기록하십시오.

관련 글