उच्च DPC विलंब का अर्थ धीमा VPN पथ नहीं है
ड्राइवर का समय, इको राउंड ट्रिप और सत्र घटनाएँ एक-दूसरे को दोष देती हैं। कोई घटक बदलने से पहले पढ़ें कि हर काउंटर क्या मापता है।
एक ऑडियो खराबी और एक VPN ठहराव एक ही दस सेकंड में पड़ते हैं, और एक उपयोगिता DPC विलंब के रूप में लेबल किया गया ऊँचा आँकड़ा बताती है। ललक यह निष्कर्ष निकालने की है कि ड्राइवर सुरंग को धीमा कर रहा है, या सुरंग ड्राइवर पर दबाव डाल रही है। इनमें से कोई भी निष्कर्ष उस आँकड़े से नहीं निकलता।
यहाँ तीन मापन विचाराधीन हैं, और वे एक ही सीमा साझा नहीं करते।
तीन संख्याएँ, तीन सीमाएँ
स्थगित प्रक्रिया कॉल वह काम है जिसे ड्राइवर अपने इंटरप्ट हैंडलर से स्थगित करता है, और उन रूटीनों के भीतर बिताया गया समय प्रोसेसर-स्थानीय मापन है जो मॉड्यूल और फ़ंक्शनों को आरोपित होता है। इको राउंड ट्रिप सॉकेट पर समय का अवलोकन है, जिसे नेटवर्क स्टैक और एक दूरस्थ उत्तरदाता उत्पन्न करते हैं। डिस्कनेक्ट घटना वह अवस्था-संक्रमण है जिसे क्लाइंट दर्ज करता है। हर एक ऐसे प्रश्न का उत्तर देता है जो बाकी नहीं दे सकते, और एक जैसी इकाइयाँ उन्हें अदला-बदली योग्य नहीं बनातीं।
उपयोगी अनुशासन है मूल्य पढ़ने से पहले सीमा का नाम लेना। इकाई और सीमा को साथ-साथ लिखें। यदि कोई उपकरण मिलिसेकंड बताता है, तो पूछें किसके मिलिसेकंड: किसी रूटीन के भीतर का समय, चलने की प्रतीक्षा का समय, या उत्तर आने तक का समय।
एक श्रेणी में ऊँचा आँकड़ा एक सुराग है, कभी निदान नहीं।
शीर्षक के पीछे की परिभाषा पढ़ें
उपयोगिताएँ इस बात में भिन्न हैं कि वे किसे विलंब कहती हैं। कुछ ड्राइवर रूटीनों की अवधि बताती हैं, अन्य अनुसूचन विलंब बताती हैं, और दोनों मात्राएँ एक ही मशीन पर विपरीत दिशाओं में चल सकती हैं। जो डैशबोर्ड उनमें से किसी एक को केवल DPC विलंब कहता है, उसने आपको दिखने से कम बताया है। इसलिए दो डैशबोर्ड ऐसी मशीन के बारे में असहमत हो सकते हैं जो बिल्कुल नहीं बदली।
यही सावधानी एक ही विश्लेषण उपकरण के भीतर भी लागू होती है। समावेशी अवधि किसी रूटीन का प्रवेश से निकास तक पीछा करती है, जबकि विशिष्ट अवधि केवल उन टुकड़ों को जोड़ती है जिनमें वह रूटीन स्वयं निष्पादित कर रहा था। गलत स्तंभ चुनना कॉलर को दोषी बना देता है।
स्थानीय ड्राइवर कार्य और नेटवर्क विलंब भी विलीन हुए बिना परस्पर क्रिया करते हैं। अत्यधिक इंटरप्ट-संबंधित गतिविधि मशीन पर समय-संवेदनशील कार्य में देरी कर सकती है, और भीड़भाड़ वाला पथ पैकेटों में देरी कर सकता है, और एक दृश्य ठहराव के दौरान दोनों सही हो सकते हैं।
हर अवलोकन को एक खिड़की में रखें
ट्रेस तभी उपयोगी है जब आप वह अंतराल पढ़ें जिसमें लक्षण हो। ट्रेस, क्लाइंट की घटना और अनुप्रयोग की विफलता को समय-चिह्नों के साथ दर्ज करें, फिर तीनों में वही सेकंड देखें। एक घंटे के ट्रेस का अधिकतम और उस दोपहर बाद का डिस्कनेक्ट दो असंबद्ध तथ्य हैं।
wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt
फिर विश्लेषण उपकरण में ट्रेस खोलें और पूरे कैप्चर के बजाय उस खिड़की के भीतर अवधि से क्रमबद्ध करें। CPU विश्लेषण के दिशानिर्देश उस DPC/ISR अवधि दृश्य का वर्णन करता है जो समय को मॉड्यूल और फ़ंक्शनों को आरोपित करता है।
पुष्टि करें कि सुरंग के साथ वास्तव में क्या हुआ जब आप वहाँ हों। अनुप्रयोग ट्रैफ़िक का थोड़ी देर खोना इसका अर्थ नहीं कि क्लाइंट ने नई बातचीत शुरू की, और एक छोटी जाँच की सफलता यह सिद्ध नहीं करती कि बाकी सब चलता रहा।
वह घटक बदलें जिसे साक्ष्य नाम देते हैं
व्यस्त मॉड्यूल जाँच का स्थान है, फैसला नहीं। यह किसी अन्य घटक या आपके द्वारा उत्पन्न कार्यभार के कारण होने वाला काम कर रहा हो सकता है। मॉड्यूल का नाम, उपकरण, ड्राइवर संस्करण और देखा गया अंतराल साथ रखें, क्योंकि यही वह समुच्चय है जिस पर कोई विक्रेता कार्य कर सकता है।
प्रति प्रयोग एक परिवर्तन ही परिणाम से सीखने का एकमात्र तरीका है। तार वाली तुलना दायरा संकुचित करती है, लेकिन यह एक साथ रेडियो पथ और ड्राइवर गतिविधि बदल देती है, इसलिए इसे प्रमाण नहीं बल्कि सुराग मानें।
ट्रेस को संवेदनशील मानें। इसमें प्रक्रिया नाम और वातावरण का विवरण हो सकता है, इसलिए इसका स्थान समर्थित कैप्चर चैनल है, सार्वजनिक अनुलग्नक नहीं। बताएं कि ट्रेस किस अवलोकन का उत्तर देने के लिए था।