ניתוח בעיות ביצועים עם Windows Performance Toolkit

5 בינואר 2014

אין תגובות

_thumb_1661B237 מאת: בני לקונישוק, מיקרוסופט ישראל

כמנהלי IT אנחנו הרבה פעמים נדרשים להיות בלשים אשר מנסים לפענח ולזהות את מקור בעיות המחשוב על מנת למצוא את הפתרון, ממש כמו פענוח דבר עבירה. ככל בלש מנוסה הדבר הראשון שננסה להשיג זה את צילומי מצלמות האבטחה. כך אולי נראה את מה שהתרחש בעת ביצוע העבירה. אך במקרים מסויימים אנחנו אפילו לא יודעים מתי זה התרחש והיכן בדיוק זה קרה, וכך מוצאים עצמנו מנסים לפענח כמות גדולה מאוד של נתונים, או במקרה זה, שעות רבות של צילומי אבטחה ממצלמות שונות. טוב, נראה לי שאתם מבינים את העניין. לשמחתי הגרסה החדשה של Windows Performance Toolkit (WPT) כוללת חידושים רבים אשר עוזרים לנו לפענח את המידע הגולמי ולזהות את מקור הבעיות בקלות רבה יותר מבעבר.

ה-WPT, אשר זמין כחלק מה- ADK של Windows, כולל שני כלים: Windows Performance Recorder, מקליט אשר יוצר הקלטות שמשתמשות ב- for Windows Event Tracking ו- Windows Performance Analyzer, כלי ניתוח המציג את המידע באופן גרפי וטבלאי הנותן יכולות ניתוח מרזולוציה נמוכה עד לרמות הפירוט הגבוהות ביותר. בנוסף, כלי התמיכה ב- command line הידוע, XPERF עדיין נשמרת.

סט הכלים הזה יכול לשמש אותנו בביצוע Root Cause Analysis לבעיות שונות רבות. כך למשל ניתן לנתח ולנסות לפתור בעיות באפליקציה שנתקעת ולא ברור למה (ה- CPU והדיסק נראים בסדר אך עדיין האפליקציה תקועה). זהו מעין debugging without a debugger.

דוגמה לניתוח באמצעות Windows Performance Analyzer

הערה: בפוסט זה אני מדלג על שלב ההקלטה, אבל אם אתם רוצים יותר מידע על השימוש ב- Windows Performance Recorder – לחצו כאן.

בדוגמה זו אציג אפליקציה שנתקעה על פניו ללא שום סיבה חיצונית שנראית לעין (CPU/Disk).

לאחר ההקלטה באמצעות ה- WPR ניתן לנתח את הנתונים שהושגו באמצעות ה- WPA.

כפי שניתן לראות בצד שמאל ישנו אזור שנקרא Graph Explorer המציג את כל הגרפים השונים.

ניתוח בעיות ביצועים עם WPT

ניתן לגרור את הגרף הרלוונטי לאיזור ה- Analysis, הממוקם בצד ימין, על מנת לבצע את האנליזה. במקרה זה נגרור את הגרף UI Delays שמאפשר לבחון את ה- Delays שזוהו בממשקי הגרפים (UI) שפעילים בזמן ההקלטה.

ניתוח בעיות ביצועים עם WPT

אם נעמוד עליו ניתן לראות את ה- Thread ID של ה- UI שהיה תקוע וכך ניתן לנתח למה אותו thread שהיה אחראי על ה- GUI חיכה. הכלי מדגיש את ה- Threads הבעייתיים (עם זמן המתנה גדול).

על ידי בחינה של ה- Wait Chain של אותו Thread ניתן ראות כי הייתה המתנה של 5 שניות לפונקציות של System.Threading שהיא נובעת מ- Sleep.

ניתוח בעיות ביצועים עם WPT

זוהי רק דוגמה אחת מיני רבות של ניתוח בעיות. כמובן שניתן לנתח גם בעיות slow boot slow load (SBSL) ועוד. ניתן לראות הרבה גרפים המציגים את ניצול המשאבים משלל חלקי מערכת ההפעלה לאורך ציר הזמן בצורה הוליסטית ו/או פרטנית.

אם אתם רוצים לראות סרטון וידאו המדגים את הדוגמה שהצגתי – http://on.fb.me/1g8XbnI

התיעוד הרשמי של ה- http://msdn.microsoft.com/en-us/library/hh162945 WPT:

להורדה של הגרסה האחרונה ביותר של הכלי: http://www.microsoft.com/en-us/download/details.aspx?id=39982

בני לקונישוק הוא מהנדס בכיר בחטיבת הפרימייר, מיקרוסופט ישראל

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *