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 अपना अतिरिक्त भार जोड़ता है। आदर्श परिस्थितियों में सबसे ऊँची दर पर मोल-भाव करने वाला क्लाइंट आमतौर पर उसके आधे से काफ़ी कम मापता है, और पड़ोसी नेटवर्क दिखते ही और कम।

SymptomTier to suspect first
Wired clients are slow tooWAN access or forwarding path
Only Wi-Fi clients are slowRadio, airtime, or channel width
One stream is slow, four parallel streams add upPer-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 internetWAN, 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 विंडो का व्यवहार और पथ पर कोई भी प्रति-फ़्लो आकार देना शामिल है। चार स्ट्रीम दिखाती हैं कि लिंक में वह क्षमता है या नहीं जिसका आप उपयोग नहीं कर रहे, क्योंकि समानांतर फ़्लो ऐसी पाइप भर सकते हैं जिसे एक फ़्लो नहीं भर सकता।

इसे ईमानदार रखें: वही होस्ट, दिन का समय और अवधि, घर में और कुछ स्ट्रीम न हो। तीस सेकंड का बड़ा ट्रांसफ़र यहाँ सही इकाई है, और RFC 6349, TCP थ्रूपुट परीक्षण की रूपरेखा, ठीक इसी तर्क पर बनी है, क्योंकि छोटे विस्फोट और छोटे अनुरोध लिंक को बेहतर दिखाते हैं। कुछ भी बदलने से पहले आधार रेखा लिख लें।

चरण 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 दोबारा चलाएँ, फिर शिखरों के बजाय अनुपातों की तुलना करें।

संबंधित लेख