നിങ്ങളുടെ റൗട്ടറിന്റെ Wi-Fi റേറ്റിംഗ് VPN ത്രൂപുട്ട് പ്രവചിക്കാത്തത് എന്തുകൊണ്ട്
പരസ്യപ്പെടുത്തിയ Wi-Fi വേഗതയും അളന്ന VPN വേഗതയും വ്യത്യസ്ത പാളികളെ വിവരിക്കുന്നു. വേഗതയേറിയ റൗട്ടർ വാങ്ങുന്നതിന് മുമ്പ് ഈ ക്രമീകൃത പരിശോധന പൂർത്തിയാക്കുക.
3,000 Mbps Wi-Fi ബാഡ്ജുള്ള റൗട്ടറിനും എൻക്രിപ്റ്റ് ചെയ്ത ട്രാഫിക് ആ സംഖ്യയുടെ ഒരു ചെറിയ ഭാഗം വേഗതയിൽ മാത്രമേ കൈമാറാൻ കഴിയൂ, രണ്ട് സംഖ്യകളും അസത്യമല്ല. റേഡിയോ റേറ്റിംഗ് ചിപ്സെറ്റ് പിന്തുണയ്ക്കുന്ന വയർലെസ് ലിങ്കിന്റെ മികച്ച മോഡുലേഷൻ വിവരിക്കുന്നു; VPN സംഖ്യ ഒരു ഉപകരണത്തിന് എൻക്രിപ്റ്റ് ചെയ്ത പാക്കറ്റുകൾ റൗട്ടറിന്റെ പ്രോസസറിലൂടെയും നിങ്ങളുടെ ആക്സസ് സർക്യൂട്ടിൽ നിന്ന് പുറത്തേക്കും എത്ര വേഗത്തിൽ തള്ളാനാകും എന്ന് വിവരിക്കുന്നു. ഇവ വ്യത്യസ്ത പാളികളും വ്യത്യസ്ത പാക്കറ്റ് വലുപ്പങ്ങളും വ്യത്യസ്ത അളവെടുപ്പ് രീതികളുമാണ്. ബോക്സിലെ സംഖ്യയെ ആരും എത്താത്ത ഒരു പരിധിയായി കാണുക, നിങ്ങളുടെ ടണലിന്റെ വേഗതയുടെ പ്രവചനമായി അല്ല.
ഘട്ടം 1: സംഖ്യയെ പരിമിതപ്പെടുത്തുന്ന നാല് പാളികൾ ഭൂപടത്തിൽ രേഖപ്പെടുത്തുക
ഞാൻ കൈകാര്യം ചെയ്ത മന്ദഗതിയിലുള്ള റൗട്ടർ പരാതികൾ മിക്കവാറും നാല് തലങ്ങളിൽ ഒന്നിൽ വരുന്നു: വയർലെസ് ലിങ്ക്, WAN ആക്സസ് വേഗത, ഫോർവേഡിംഗ് പാത (NAT, ഫയർവാൾ, കണക്ഷൻ ട്രാക്കിംഗ്) അല്ലെങ്കിൽ VPN ക്രിപ്റ്റോ പാത. അവ ഒന്നിനൊന്ന് കൂട്ടിച്ചേരുന്നു, ഏറ്റവും മന്ദഗതിയിലുള്ള തലം ഫലം നിർണ്ണയിക്കുന്നു. പരസ്യപ്പെടുത്തിയ Wi-Fi വേഗത ആദ്യ തലത്തെക്കുറിച്ച് മാത്രം സംസാരിക്കുന്നു, അതിനെക്കുറിച്ച് ഉദാരമായി സംസാരിക്കുന്നു.
ആ സംഖ്യ സ്ട്രീമുകളുടെ എണ്ണം ചാനൽ വീതിയും ചിപ്സെറ്റ് ചർച്ച ചെയ്യാവുന്ന ഏറ്റവും ഉയർന്ന മോഡുലേഷനും കൊണ്ട് ഗുണിച്ചതിൽ നിന്ന് വരുന്നു. 5 GHz-ൽ 80 MHz-ൽ 1024-QAM-ഉള്ള 2x2 റേഡിയോ 1,200 Mbps-ന് അടുത്ത് പരസ്യപ്പെടുത്തുന്നു, എന്നാൽ Wi-Fi പങ്കിട്ട അർദ്ധ-ദ്വിമുഖ മാധ്യമമാണ്: ക്ലയന്റുകൾ ഊഴമിട്ട് വരുന്നു, വീണ്ടുമുള്ള അയയ്ക്കലുകളും മാനേജ്മെന്റ് ട്രാഫിക്കും വായു സമയം കത്തിക്കുന്നു, TCP അതിന്റേതായ ചെലവ് കൂട്ടുന്നു. അനുകൂല സാഹചര്യങ്ങളിൽ ഏറ്റവും ഉയർന്ന വേഗത ചർച്ച ചെയ്യുന്ന ക്ലയന്റ് സാധാരണയായി അതിന്റെ പകുതിയിൽ നിന്ന് വളരെ താഴെ അളക്കുന്നു, അയൽവാസി നെറ്റ്വർക്കുകൾ പ്രത്യക്ഷപ്പെടുമ്പോൾ ഇനിയും കുറവ്.
| Symptom | Tier to suspect first |
|---|---|
| Wired clients are slow too | WAN access or forwarding path |
| Only Wi-Fi clients are slow | Radio, airtime, or channel width |
| One stream is slow, four parallel streams add up | Per-connection CPU path, not the link |
| Every stream is slow and one core sits at 100% | Crypto path |
| Fast to LAN hosts, slow to the internet | WAN, not the tunnel |
പട്ടിക റേഡിയോയിലേക്ക് ചൂണ്ടുന്നുവെങ്കിൽ, ആദ്യം വയർലെസ് വശം ശരിയാക്കുക: ബാൻഡ്, ചാനൽ വീതി, ദൂരം. അത് റേഡിയോയ്ക്ക് താഴേക്ക് ചൂണ്ടുന്നുവെങ്കിൽ, അടുത്ത നാല് ഘട്ടങ്ങളാണ് പ്രധാനം, എത്ര ആന്റിന വാങ്ങിയാലും അത് മാറ്റില്ല.
ഘട്ടം 2: റേഡിയോ തൊടുന്നതിന് മുമ്പ് വയർ ബേസ്ലൈൻ എടുക്കുക
ലാപ്ടോപ്പ് Ethernet-ൽ ഇട്ട് ആദ്യം ടണൽ ഇല്ലാതെ പാത അളക്കുക, അത് നിങ്ങൾക്ക് ഹരണസംഖ്യ നൽകുന്നു. ത്രൂപുട്ട് ഉപകരണം മറുവശത്ത്, VPN അവസാനിപ്പിക്കുന്ന VPS അല്ലെങ്കിൽ വീട്ടിലെ സെർവറിൽ ഓടിക്കുക, ക്ലയന്റിനെ അതിന്റെ പൊതു വിലാസത്തിലേക്ക് തിരിച്ചുവിടുക, ട്രാഫിക് നിങ്ങളുടെ റൗട്ടറിലൂടെയും ആക്സസ് സർക്യൂട്ടിലൂടെയും പോകുന്നു.
# on the far host (VPN endpoint)
iperf3 -s
# wired client, direct to the endpoint's public address
iperf3 -c 203.0.113.10 -t 30
# same client, four parallel streams
iperf3 -c 203.0.113.10 -t 30 -P 4
ആ ബ്ലോക്കിലെ രണ്ട് സംഖ്യകൾ വ്യത്യസ്ത ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകുന്നു. ഒരു സ്ട്രീം ഒരു കണക്ഷന്റെ പരിധി കാണിക്കുന്നു, അതിൽ TCP വിൻഡോ പെരുമാറ്റവും പാതയിലെ ഏതെങ്കിലും സ്ട്രീം-തിരിച്ചുള്ള രൂപീകരണവും ഉൾപ്പെടുന്നു. നാല് സ്ട്രീമുകൾ ലിങ്കിൽ നിങ്ങൾ ഉപയോഗിക്കാത്ത ശേഷി ഉണ്ടോ എന്ന് കാണിക്കുന്നു, സമാന്തര സ്ട്രീമുകൾക്ക് ഒരു സ്ട്രീമിന് നിറയ്ക്കാനാവാത്ത പൈപ്പ് നിറയ്ക്കാനാകും.
ഇത് സത്യസന്ധമായി നിലനിർത്തുക: അതേ ഹോസ്റ്റ്, ദിവസത്തിലെ സമയവും ദൈർഘ്യവും, വീട്ടിൽ മറ്റൊന്നും സ്ട്രീം ചെയ്യുന്നില്ല. മുപ്പത് സെക്കൻഡ് ബൾക്ക് ട്രാൻസ്ഫർ ഇവിടെ ശരിയായ യൂണിറ്റാണ്, TCP ത്രൂപുട്ട് പരിശോധനയുടെ ചട്ടക്കൂടായ RFC 6349 അതേ ന്യായത്തിൽ നിർമ്മിച്ചതാണ്, ചെറിയ സ്ഫോടനങ്ങളും ചെറിയ അഭ്യർത്ഥനകളും ലിങ്കിനെ മികച്ചതായി കാണിക്കുന്നു. എന്തെങ്കിലും മാറ്റുന്നതിന് മുമ്പ് ബേസ്ലൈൻ എഴുതിവയ്ക്കുക.
ഘട്ടം 3: അതേ പരിശോധന ടണലിലൂടെ ഓടിക്കുക
ഇപ്പോൾ അത് അന്തിമ ബിന്ദുവിന്റെ ടണൽ വിലാസത്തിനെതിരെ ആവർത്തിക്കുക, അതേ ക്ലയന്റ്, ദൈർഘ്യം, സ്ട്രീം എണ്ണം എന്നിവയോടെ, ടണൽ ഓണായി മറ്റ് ട്രാഫിക് ഇല്ലാതെ. രണ്ട് ഫലങ്ങളുടെ അനുപാതം ആ ഹാർഡ്വെയറിൽ എൻക്രിപ്ഷനും എൻകാപ്സുലേഷനും എത്ര ചെലവാകുന്നു എന്ന് പറയുന്നു; സമ്പൂർണ്ണ സംഖ്യ ജോലിക്ക് മതിയോ എന്ന് പറയുന്നു.
കൈമാറ്റം നടക്കുമ്പോൾ കൗണ്ടറുകൾ നിരീക്ഷിക്കുക. WireGuard-ൽ, wg show ഓരോ പങ്കാളിക്കും കൈമാറിയ ബൈറ്റുകൾ റിപ്പോർട്ട് ചെയ്യുന്നു; OpenVPN-ൽ, ഇടവേളയിൽ എഴുതുന്ന സ്റ്റാറ്റസ് ഫയൽ അതേ കാഴ്ച നൽകുന്നു.
watch -n 1 'wg show wg0 transfer'
# OpenVPN: add --status /run/openvpn/server.status 10 to the server config
tail -f /run/openvpn/server.status
ടണൽ സംഖ്യ വയർ ബേസ്ലൈനോട് അടുത്താണെങ്കിൽ, VPN നിങ്ങളുടെ തടസ്സമല്ല, അതിനെ കുറ്റപ്പെടുത്തുന്നത് നിർത്താം. അത് ബേസ്ലൈനിന്റെ ഒരു ഭാഗം മാത്രമാണെങ്കിൽ, നഷ്ടം റൗട്ടറിന്റെ എൻക്രിപ്ഷൻ, ഫോർവേഡിംഗ് പാതയ്ക്കുള്ളിൽ സംഭവിച്ചു, അടുത്ത ഘട്ടം ഏത് ഭാഗമെന്ന് പറയുന്നു.
ഒരു മുന്നറിയിപ്പ്: എക്സിറ്റ് IP മാറിയാൽ, ചില വേഗതാ പരിശോധനാ സേവനങ്ങൾ നിശബ്ദമായി മറ്റൊരു അളവെടുപ്പ് സെർവർ തിരഞ്ഞെടുക്കുന്നു, അതിനാൽ ഒടുവിൽ രണ്ട് വ്യത്യസ്ത ലക്ഷ്യസ്ഥാനങ്ങളെ താരതമ്യം ചെയ്യുന്നു. സെർവർ വിലാസം നിങ്ങൾ തന്നെ പിൻ ചെയ്യുക.
ഘട്ടം 4: പ്രോസസറിനെ ശരാശരിയായി അല്ല, പാതയായി വായിക്കുക
30 ശതമാനം മൊത്തം പ്രോസസർ കാണിക്കുന്ന റൗട്ടറും പൂരിതമായിരിക്കാം: ഒരു ടണലിന്റെ ജോലി സാധാരണയായി ഒരു കോറിലും ഒരു ഇന്ററപ്റ്റ് ക്യൂവിലും ഒരു കർണൽ ത്രെഡിലും എത്തുന്നു, അതിനാൽ ശരാശരി പരിധി മറയ്ക്കുന്നു. ഡാഷ്ബോർഡ് ഗേജിന് പകരം കോർ തിരിച്ചുള്ള സംഖ്യകളും softirq-ഉം നോക്കുക.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
ആ ഔട്ട്പുട്ടിൽ മൂന്ന് കാര്യങ്ങൾ പ്രധാനമാണ്. ഒരു കോർ 100 ശതമാനത്തിന് അടുത്ത് പിന്നിട്ടിരിക്കുകയും മറ്റുള്ളവ നിഷ്ക്രിയമായിരിക്കുകയും ചെയ്താൽ, അത് ഓരോ കണക്ഷന്റെയും പരിധിയെ സൂചിപ്പിക്കുന്നു. കനത്ത %soft അല്ലെങ്കിൽ ഒരു പ്രോസസറിൽ തിരക്കുള്ള ksoftirqd ക്യൂകളിലേക്ക് പരക്കാത്ത സ്വീകരണ വശത്തെ പാക്കറ്റ് പ്രോസസ്സിംഗിനെ സൂചിപ്പിക്കുന്നു. aes ഫ്ലാഗ് ഇല്ലാതിരിക്കുന്നത് പ്രോസസറിൽ AES നിർദ്ദേശങ്ങൾ ഇല്ല എന്നർത്ഥം, അതിനാൽ സമമിത എൻക്രിപ്ഷൻ സോഫ്റ്റ്വെയറിൽ പ്രവർത്തിക്കുന്നു, ഓരോ പാക്കറ്റിനും ഏറെ ചെലവാകുന്നു.
നടപ്പാക്കലും പ്രധാനമാണ്. യൂസർ സ്പേസിലെ പരമ്പരാഗത OpenVPN ഇൻസ്റ്റൻസ് ഒരു ടണലിന്റെ പാക്കറ്റുകൾ പ്രധാനമായും ഒരിടത്ത് പ്രോസസ്സ് ചെയ്യുന്നു, അതിനാൽ വേഗതയേറിയ മൾട്ടി-കോർ ബോക്സ് ആ ടണലിന് സിംഗിൾ-കോർ പോലെ പെരുമാറാം. കർണലിലെ WireGuard ജോലി പ്രോസസറുകളിലേക്ക് വിതരണം ചെയ്യുന്നു, OpenVPN-ന്റെ ഡാറ്റ ചാനൽ ഓഫ്ലോഡും പാക്കറ്റ് കൈകാര്യം ചെയ്യുന്നത് കർണലിലേക്ക് മാറ്റുന്നു, എന്നാൽ അതിനെ പിന്തുണയ്ക്കുന്ന ബിൽഡുകളിലും പ്ലാറ്റ്ഫോമുകളിലും മാത്രം. മാർക്കറ്റിംഗ് പേജിലെ ഹാർഡ്വെയർ ത്വരണവാദം നിങ്ങൾ ഓടിക്കുന്ന കോഡ് പാത അത് ഉപയോഗിക്കുന്നു എന്നതിന് തെളിവല്ല.
ഘട്ടം 5: എന്ത് മാറ്റണം എന്ന് അതേ ക്രമത്തിൽ തീരുമാനിക്കുക
ഈ പട്ടിക താഴേക്ക് പോയി ശരിയായ ആദ്യ വരിയിൽ നിർത്തുക, അതിന് താഴെ എന്തെങ്കിലും മാറ്റിയാൽ സംഖ്യ നീങ്ങില്ല.
1. വയർ നേരിട്ടുള്ള ത്രൂപുട്ട് നിങ്ങൾ നൽകുന്നതിനേക്കാൾ കുറവാണ്: ദാതാവുമായി സംസാരിക്കുക, ആക്സസ് സർക്യൂട്ട് നൽകാത്ത ശേഷി ടണലിന് സൃഷ്ടിക്കാനാവില്ല. 2. വയർ നേരിട്ട് കുഴപ്പമില്ല, പക്ഷേ ടണൽ പരിശോധനയിൽ ഒരു കോർ പിന്നിടുന്നു: റൗട്ടറിന്റെ ക്രിപ്റ്റോ പാതയാണ് പരിധി. 3. പ്രോസസർ നിഷ്ക്രിയമാണ്, പക്ഷേ ടണൽ മന്ദഗതിയിലാണ്: MTU-ഉം ശകലീകരണവും പരിശോധിക്കുക, പിന്നെ വിദൂര അന്തിമ ബിന്ദുവിന്റെ സ്വന്തം ശേഷി. 4. Wi-Fi ക്ലയന്റുകൾ മാത്രം മന്ദഗതിയിലാണ്: ബാൻഡോ ചാനൽ വീതിയോ മാറ്റുക, പരസ്യപ്പെടുത്തിയ വേഗത ഒരിക്കലും VPN സംഖ്യയായിരുന്നില്ല എന്ന് സമ്മതിക്കുക.
റൗട്ടർ യഥാർത്ഥത്തിൽ പരിധിയാകുമ്പോൾ, സത്യസന്ധമായ ഓപ്ഷനുകൾ AES നിർദ്ദേശങ്ങളും വേഗതയേറിയ ഫോർവേഡിംഗ് പാതയുമുള്ള ഉപകരണം, യൂസർ സ്പേസിന് പകരം WireGuard പോലുള്ള കർണൽ-വശ ടണൽ, അല്ലെങ്കിൽ റൗട്ടർ എൻക്രിപ്റ്റ് ചെയ്യുന്നത് നിർത്താൻ ക്ലയന്റിനെ ഉപകരണത്തിലേക്ക് തന്നെ മാറ്റുന്നത് എന്നിവയാണ്. ബെഞ്ച്മാർക്ക് നേടാൻ പ്രാമാണീകൃത എൻക്രിപ്ഷൻ ഓഫ് ചെയ്യുന്നത് അവയിലൊന്നല്ല; അത് സുരക്ഷാ ഗുണത്തെ ഇപ്പോഴും ബോക്സുമായി ഒത്തുപോകാത്ത ഒരു സംഖ്യയ്ക്ക് പകരം വയ്ക്കുന്നു.
എന്തെങ്കിലും വാങ്ങുന്നതിന് മുമ്പ്, അതേ സെർവറും ദൈർഘ്യവും ഉപയോഗിച്ച് പുതിയ ഉപകരണത്തിൽ ഘട്ടം 2, 3 വീണ്ടും ഓടിക്കുക, പിന്നെ കൊടുമുടികളല്ല, അനുപാതങ്ങൾ താരതമ്യം ചെയ്യുക.