ביצועי פרופיל Node.js בחלונית הביצועים

אפשר להשתמש בחלונית ביצועים כדי ליצור פרופיל של הביצועים של אפליקציות Node.js ו-Deno.

מהו פרופיל מעבד?

פרופיל מעבד הוא דוח שמראה איך נעשה שימוש במעבד לאורך תקופה מסוימת. אפשר לראות אילו תוכניות השתמשו בהכי הרבה זמן מעבד, אילו תהליכים היו שפועלים וכמה זמן חלף בכל מצב. בעזרת פרופילים של מעבדים אפשר לזהות צווארי בקבוק בביצועים ולבצע אופטימיזציה של ניצול המשאבים של המעבד.

פתיחת כלי הפיתוח של Node

  1. בשורת הפקודה, מריצים את הפקודה:

    Node.js

    node --inspect file-name.js

    Deno

    deno --inspect file-name.js
  2. מתחברים ל-DevTools ל-Node באחת מהדרכים הבאות:

    • פותחים את כלי הפיתוח ולוחצים על הלחצן הירוק של Node בסרגל הפעולות של כלי הפיתוח בחלק העליון.
    • בסרגל הכתובות, מזינים chrome://inspect ולוחצים על אחת מהאפשרויות הבאות:

      • פותחים את כלי הפיתוח הייעודיים של Node בקטע מכשירים.
      • בודקים את היעד שרוצים ליצור לו פרופיל.

    כל הדרכים לפתוח את DevTools ל-Node.

יצירת פרופיל של המעבד

כדי ליצור פרופיל של המעבד, פותחים את החלונית ביצועים ולוחצים על הלחצן הקלטה פעמיים כדי להתחיל ולסיים את יצירת הפרופיל.

לחצן ההקלטה ובורר המכונות הווירטואליות.

ניתוח תוצאות של יצירת פרופילים

אחרי שתפסיקו את ההקלטה, הנתונים על ההקלטה יארגנו ויוצגו ב'פרופיל' בלוח ביצועים. אפשר להשתמש בכרטיסיות הבאות כדי לנתח את נתוני הפרופיל:

  • סקירה כללית על ציר הזמן הוא ממוקם בחלק העליון, מתחת לסרגל הפעילות. תרשים פעילות של המעבד ושל הרשת בציר זמן. אפשר להשתמש בו כדי לזהות צווארי בקבוק בביצועים.

    הסקירה הכללית של ציר הזמן.

  • מלמטה למעלה: בכרטיסייה הזו אפשר לבדוק חלק נבחר מההקלטה ולראות את משך הזמן המצטבר שהוקצה לפעילויות ספציפיות.

    הכרטיסייה 'מלמטה למעלה'.

  • Call Tree (עץ שיחות): בכרטיסייה הזו מוצגות הפעילויות ברמה הבסיסית של חלק נבחר מההקלטה. גם לפעילויות ברמה הבסיסית יש סטאקים של קריאות שמקוננים זה בזה. בכרטיסייה הזו אפשר לזהות איזו פעילות דורשת את הכי הרבה עבודה.

    הכרטיסייה Call Tree (עץ הקריאות).

  • יומן אירועים: בכרטיסייה הזו מפורטות פעילויות מחלק נבחר מההקלטה לפי הסדר שבו הן התרחשו.

    הכרטיסייה Event Log (יומן אירועים).

יצירת פרופיל באמצעות הפקודה console.profile()

בעזרת DevTools אפשר ליצור פרופיל של ביצועי המעבד (CPU) ב-JavaScript באמצעות הפקודה console.profile(). אפשר להוסיף את הפקודה הזו לקוד ולאחר מכן להריץ את הקובץ, או להעתיק ולהדביק את הקוד במסוף. התוצאות יוצגו בחלונית ביצועים.

כדי להשתמש בפקודה הזו, מבצעים את השלבים הבאים:

  1. מקיפים את הקוד ב-console.profile() וב-console.profileEnd(), לדוגמה:

    console.profile( profile ${i} );
    // Code to be profiled
    doSomething();
    console.profileEnd();
    
  2. אפשר להריץ את הקוד באחת משתי דרכים:

אחרי השלמת הפרופיל, התוצאה תוצג באופן אוטומטי בחלונית ביצועים.