השהיה גבוהה של DPC אינה משמעה נתיב VPN איטי
זמן מנהל ההתקן, הליכות הלוך ושוב של הדהוד ואירועי הפעלה מאשימים זה את זה. קראו מה כל מונה מודד לפני שאתם מחליפים רכיב.
תקלת שמע והפסקה של VPN נופלות באותן עשר שניות, וכלי עזר מדווח על מספר גבוה המסומן כהשהיית DPC. הפיתוי הוא להסיק שמנהל ההתקן מאיט את המנהרה, או שהמנהרה מעמיסה על מנהל ההתקן. אף אחת משתי המסקנות אינה נובעת מהמספר הזה.
שלוש מדידות עומדות כאן על הפרק, והן אינן חולקות אותו גבול.
שלושה מספרים, שלושה גבולות
קריאת פרוצדורה נדחית היא עבודה שמנהל התקן דוחה ממטפל הפסיקות שלו, והזמן שמבלים בתוך שגרות אלה הוא מדידה מקומית למעבד המיוחסת למודולים ולפונקציות. הלוך ושוב של הדהוד הוא תצפית זמן בשקע, שמייצרים מחסנית רשת ומשיב מרוחק. אירוע התנתקות הוא מעבר מצב שהלקוח רושם. כל אחת עונה על שאלה שאחרות אינן יכולות, ויחידות תואמות אינן הופכות אותן לברות החלפה.
המשמעת המועילה היא לנקוב בגבול לפני קריאת הערך. כתבו את היחידה ואת הגבול זה לצד זה. אם כלי מדווח על אלפיות שנייה, שאלו אלפיות שנייה של מה: זמן בתוך שגרה, זמן המתנה להרצה, או זמן עד שהגיעה תשובה.
מספר גבוה בקטגוריה אחת הוא קצה חוט, לעולם לא אבחנה.
קראו את ההגדרה שמאחורי הכותרת
כלי העזר נבדלים במה שהם מכנים השהיה. חלקם מדווחים את משך שגרות מנהל ההתקן, אחרים מדווחים עיכוב תזמון, ושתי הכמויות יכולות לנוע בכיוונים מנוגדים באותו מחשב. לוח בקרה שמכנה אחת מהן פשוט השהיית DPC אמר לכם פחות ממה שנדמה. לכן שני לוחות בקרה יכולים לחלוק על מחשב שלא השתנה כלל.
אותה זהירות חלה בתוך כלי ניתוח אחד. משך כולל עוקב אחר שגרה מהכניסה עד היציאה, ואילו משך בלעדי מסכם רק את הקטעים שבהם השגרה עצמה ביצעה. בחירת העמודה הלא נכונה הופכת קורא לתוקף.
עבודת מנהל התקן מקומית ועיכוב רשת גם פועלים זה על זה בלי להתמזג. פעילות יתר הקשורה לפסיקות יכולה לעכב עבודה רגישה לזמן במחשב, ונתיב עמוס יכול לעכב מנות, ושניהם יכולים להיות נכונים במהלך הפסקה גלויה אחת.
שימו כל תצפית בחלון אחד
מעקב שימושי רק אם קוראים את המרווח שמכיל את התסמין. רשמו את המעקב, את אירוע הלקוח ואת כשל היישום עם חותמות זמן, ואז הסתכלו על אותן שניות בכל השלושה. מקסימום ממעקב של שעה והתנתקות מאוחר יותר באותו אחר הצהריים הם שני עובדות לא קשורות.
wpr -start CPU -filemode
wpr -stop vpn-trace.etl
xperf -i vpn-trace.etl -a dpcisr -o dpc.txt
לאחר מכן פתחו את המעקב בכלי הניתוח ומיינו לפי משך בתוך החלון הזה, ולא לפי כל הלכידה. ההנחיות לניתוח מעבד מתאר את תצוגת משך DPC/ISR שמייחסת זמן למודולים ולפונקציות.
אשרו מה באמת קרה למנהרה בזמן שאתם שם. אובדן קצר של תעבורת היישום אינו אומר שהלקוח החל משא ומתן חדש, והצלחה של בדיקה קטנה אינה מוכיחה שכל השאר המשיך לעבוד.
החליפו את הרכיב שהראיות מצביעות עליו
מודול עסוק הוא מקום לחקור, לא פסק דין. ייתכן שהוא מבצע עבודה שנגרמה מרכיב אחר או מהעומס שיצרתם. החזיקו יחד את שם המודול, ההתקן, גרסת מנהל ההתקן והמרווח הנצפה, כי זו הקבוצה שעליה ספק יכול לפעול.
שינוי אחד לכל ניסוי הוא הדרך היחידה ללמוד מהתוצאה. השוואה בחוט מצמצמת את ההיקף, אבל היא משנה את נתיב הרדיו ואת פעילות מנהל ההתקן בעת ובעונה אחת, אז התייחסו אליה כרמז ולא כהוכחה.
התייחסו למעקב כאל רגיש. הוא יכול להכיל שמות תהליכים ופרטי סביבה, ולכן מקומו בערוץ הלכידה הנתמך ולא בקובץ מצורף פומבי. אמרו לאיזו תצפית נועד המעקב לענות.