अपलोड के दौरान VPN धीमा क्यों लगता है: कतार विलंब
पैकेट कतार में इंतज़ार करें तो तेज़ ट्रांसफ़र भी कॉल को हकलाने पर मजबूर कर सकता है। VPN एंडपॉइंट को दोष देने से पहले निष्क्रिय और लोडेड राउंड ट्रिप की तुलना करें।
एक बैकअप अपलोड होना शुरू होता है, ट्रांसफ़र काउंटर स्वस्थ दिखता है, और वीडियो कॉल बिगड़ जाती है। लिंक में उस अर्थ में बैंडविड्थ की कमी नहीं है जो वह संख्या सुझाती है; पैकेट कहीं कतार में इंतज़ार कर रहे हैं और इंटरैक्टिव पैकेट बड़े डेटा के पीछे बैठे हैं। यह कतार विलंब है, जिसे आमतौर पर बफ़रब्लोट कहा जाता है। VPN अपनी कतार जोड़ सकता है, पर शायद ही अकेले समस्या पैदा करता है।
बैंडविड्थ और विलंब अलग माप हैं
थ्रूपुट बताता है कि प्रति सेकंड कितना डेटा चलता है, जबकि विलंब बताता है कि एक पैकेट को रास्ता पार करने में कितना समय लगता है। संतृप्त लिंक बड़ा बैकलॉग रख सकता है और फिर भी अच्छा थ्रूपुट बता सकता है, क्योंकि फटना खत्म होते ही कतार लाइन गति से खाली होती है। इंटरैक्टिव ट्रैफ़िक पहले पीड़ित होता है, क्योंकि कॉल को हर कुछ मिलीसेकंड में एक पैकेट चाहिए, अंत में बड़ी फ़ाइल नहीं। इसलिए केवल स्पीड-टेस्ट का नतीजा मापना उस लक्षण को छिपा देता है जिसने आपको देखने पर मजबूर किया।
लोड के दौरान दिशा पर भी ध्यान दें। भरा हुआ अपलोड बफ़र बाकी सब कुछ विलंबित कर सकता है जबकि डाउनलोड क्षमता खाली बैठी हो।
लोड के दौरान राउंड ट्रिप मापें
शांत लिंक पर आधार रेखा लें, फिर एक नियंत्रित ट्रांसफ़र चलते समय वही माप दोहराएँ। पूर्ण संख्याओं के बजाय दोनों रन की तुलना करें।
ping -c 20 -i 0.2 203.0.113.5
dd if=/dev/zero bs=1M count=50 | ssh [email protected] "cat > /dev/null"पहला कमांड राउंड-ट्रिप समय के नमूने लेता है, और दूसरा स्पीड-टेस्ट सेवा के बिना लगातार अपलोड बनाता है। सपाट रहती आधार रेखा के बाद सैकड़ों मिलीसेकंड चढ़ने वाला लोडेड रन वही पहचान है जिसे खोजना है। कुछ नेटवर्क ICMP की प्राथमिकता घटाते हैं, इसलिए ping को संकेत मानें और ऐप के अपने लेटेंसी डिस्प्ले से पुष्टि करें। मीटर वाले लिंक पर परीक्षण छोटा रखें, क्योंकि दोहराया जा सकने वाला अंतर लंबी संतृप्ति से अधिक मायने रखता है।
कतार को वहाँ ले जाएँ जहाँ अड़चन है
कतार प्रबंधन केवल उसी डिवाइस पर मदद करता है जो वास्तव में बैकलॉग रखता है। नियम जोड़ने से पहले जाँचें कि इंटरफ़ेस क्या कर रहा है।
tc -s qdisc show dev eth0
tc qdisc replace dev eth0 root fq_codelshow कमांड वर्तमान अनुशासन तथा बैकलॉग और ड्रॉप काउंटर बताता है, जो आपको बताता है कि यह इंटरफ़ेस अड़चन है या केवल ट्रैफ़िक पार कर रहा है। मूल अनुशासन को निष्पक्ष कतार एल्गोरिद्म से बदलने पर छोटे प्रवाहों को बड़े डेटा के साथ साझा एक FIFO के बजाय अपनी बारी मिलती है। जब राउटर ही अड़चन हो तब इसे राउटर के WAN इंटरफ़ेस पर लागू करें, आदतवश टनल डिवाइस पर नहीं। पिछली कॉन्फ़िगरेशन रखें और लोडेड प्रतिक्रिया तथा ट्रांसफ़र दर दोनों फिर जाँचें, क्योंकि थोड़ी कम बल्क दर उपयोगी कॉल के लिए अच्छा सौदा है।
टनल क्या बदलता है और क्या छिपाता है
VPN एन्क्रिप्शन और एक और हॉप जोड़ता है, और टनल के बाहर के उपकरणों से अलग-अलग प्रवाह भी छिपाता है। यह तब मायने रखता है जब अपस्ट्रीम डिवाइस ऐप-आधारित प्राथमिकता देता है, क्योंकि वह मूल बातचीत के बजाय एन्क्रिप्टेड पैकेट देखता है। जो राउटर खुद टनल समाप्त करता है उसका दृश्य और कार्यभार अलग होता है और वह उसके भीतर वर्गीकृत कर सकता है। दोनों में से कोई व्यवस्था एक्सेस लिंक पर कतार नहीं हटाती, जहाँ आमतौर पर विलंब जमा होता है।
अगर विलंब लोड का पीछा नहीं करता, तो कतारें ट्यून करना बंद करें और कहीं और देखें: Wi-Fi हालात, पैकेट-आकार की समस्याएँ या एक खराब निकास रास्ता। बिना माप के लागू कतार सेटिंग्स केवल रहस्य को इधर-उधर करती हैं।