SMB multicanal prin VPN: ce folosește de fapt clientul
SMB multicanal printr-o VPN adaugă puține canale: citiți interfețele clientului, conexiunile selectate și dialectul SMB înainte de a da vina pe tunel pentru fișierele lente.
Accesul lent la fișiere printr-o VPN te ispitește să vezi setarea multicanal ca soluție, iar setarea nu are adesea cu ce lucra. Un singur adaptor virtual fără RSS nu poate împărți traficul pe mai multe canale, indiferent ce spune caseta de selectare. Contează capacitatea pe care SMB o vede la ambele capete, nu specificația NIC-ului fizic al laptopului. Explicația de mai jos pornește de la o sesiune activă și revine la dispunerea adaptoarelor.
Începeți de la sesiune, nu de la specificația NIC-ului
Confirmați mai întâi că sesiunea poate folosi deloc multicanalul. Funcția aparține SMB3, așa că un dialect mai vechi negociat cu un echipament sau un server vechi o exclude înainte ca vreo întrebare despre adaptor să conteze. Apoi confirmați la ce server s-a conectat de fapt clientul, pentru că un nume care se rezolvă la alt nod decât cel inspectat produce un rezultat convingător, dar irelevant.
Get-SmbConnection
Get-SmbClientConfiguration | Select-Object EnableMultichannel
Get-SmbClientNetworkInterface
Prima comandă numește dialectul, serverul și partajarea pe o singură linie. A doua arată dacă funcția este activată la client, iar a treia listează interfețele pe care SMB le cunoaște cu capacitățile raportate. Un adaptor virtual care nu raportează nici RSS, nici RDMA vă spune în ce se poate transforma dispunerea.
Dacă dialectul nu este SMB3, opriți-vă și rezolvați mai întâi această chestiune. Altfel, fiecare comandă ulterioară va descrie o funcție care nu poate porni.
Citiți interfețele clientului cu onestitate
SMB nu se interesează ce adaptor poartă ruta implicită; enumeră interfețele pe care le poate folosi și le evaluează pe fiecare. Un laptop cu Wi-Fi, Ethernet și un adaptor VPN poate prezenta trei interfețe, iar doar una dintre ele poate fi accesibilă pentru serverul cu care vorbiți. Celelalte sunt candidate, nu canale.
Citiți coloanele RSS și RDMA în locul coloanei vitezei legăturii. Un adaptor virtual raportează adesea o viteză nominală mare fără capacitate RSS, iar viteza nominală descrie legătura virtuală, nu calea prin internet. Niciunul dintre cele două numere nu vă spune câte canale folosește sesiunea.
Dacă adaptorul nu arată capacitate RSS, remedierea acceptată aparține driverului furnizorului de VPN, nu proprietăților avansate ale NIC-ului fizic. Bifarea unei casete RSS pe adaptorul hardware nu schimbă nimic din ce expune adaptorul virtual către SMB.
Separați canalele selectate de candidatele descoperite
Lista conexiunilor este partea citită cel mai des greșit. Cu candidatele neselectate incluse, ieșirea arată tot ce a luat în considerare SMB, iar aceasta nu este mulțimea canalelor care transportă date. Citiți indicatorul de selecție și numărul de canale pentru perechea concretă de interfețe client și server care vă interesează.
Get-SmbMultichannelConnection -ServerName files.lab.example -IncludeNotSelected
Get-SmbMultichannelConnection -ServerName files.lab.example | Format-List *
Înlocuiți cu numele serverului dumneavoastră. A doua formă tipărește proprietățile conexiunilor selectate, inclusiv indicii interfețelor și numărul actual de canale, iar acesta este numărul care contează. Mai multe adrese descoperite pe un adaptor rămân un singur adaptor.
O adresă descoperită poate fi inutilizabilă și din cauza politicii VPN: poate fi o adresă de subrețea locală pe care tunelul nu o transportă, sau o adresă pe care serverul o servește doar în altă rețea. SMB o listează ca potențială pentru că interfața există, nu pentru că calea funcționează.
Ce face adaptorul VPN cu dispunerea
Merită să distingem trei dispuneri, pentru că doar două pot produce mai mult de un canal. Un singur adaptor fără RSS oferă un canal. Un singur adaptor cu RSS poate împrăștia conexiunile pe nuclee. Mai multe adaptoare utilizabile pot produce mai multe canale chiar și fără RSS, iar aceasta este configurația pe care oamenii o uită când presupun că RSS este obligatoriu.
| Layout SMB sees | Channels possible |
|---|---|
| One adapter, no RSS | One |
| One adapter with RSS | Several, spread across cores |
| Two or more usable adapters | Several, one path per adapter |
| Several adapters behind one tunnel | Several, one shared bottleneck |
Ultimul rând este cel care contează printr-o VPN. Canalele care intră toate în același tunel criptat partajează debitul tunelului, CPU-ul gateway-ului și legătura WAN. Adăugarea unui canal acolo redistribuie munca fără a adăuga capacitate, iar măsurătoarea va arăta acest lucru.
Păstrați semnarea și criptarea active în timp ce comparați, pentru că dezactivarea lor schimbă ceea ce măsurați. Un rezultat de performanță care depinde de dezactivarea unei setări de securitate nu este un rezultat pe care îl puteți implementa.
Măsurați sarcina care este cu adevărat lentă
Numiți sarcina de lucru înainte de a schimba ceva: o copie secvențială mare, multe fișiere mici într-un director sau o aplicație care deschide și închide descriptori. Multicanalul poate ajuta primul caz când există căi independente reale și face foarte puțin pentru al treilea, pentru că acolo costul îl reprezintă dus-întorsurile dependente, nu lățimea de bandă.
Înregistrați o linie de bază cu dispunerea actuală, schimbați un singur lucru și înregistrați din nou cu același set de fișiere și la aceeași oră a zilei. Notați numărul de căi selectate lângă valoare, astfel încât un cititor ulterior să poată spune dacă schimbarea a modificat dispunerea sau doar sarcina.
Dacă canalele nu s-au schimbat, întrebarea despre performanță este în altă parte: costul de criptare al tunelului, latența căii sau discul și CPU-ul serverului însuși. Merită măsurate înainte de a adăuga un alt adaptor unui laptop care are deja destule.