Chromium Chronicle מס' 20: רתמות בדיקה להשוואת ביצועים

פרק 20: מאת ג'ון צ'ן בבלוויו, וושינגטון (אפריל 2021)
פרקים קודמים

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

בנצ'מרקים פועלים באופן קבוע בשיעור ה-Lab. במקרה של רגרסיה, bisect מאתר אוטומטית את ה-CL הבעייתי ומקצה באג לבעלים של ה-CL.

מדדי ההשוואה של Chrome כוללים רצפים של אינטראקציות בדפי אינטרנט (שנקראים סיפורים) עם מדידות של ביצועים. מקרים דומים מקובצים ברתמות להשוואת ביצועים. נקודות השוואה חדשות בדרך כלל מתאימות לאחת מהרתמות הקיימות:

  • תקינות המערכת
  • בטעינה
  • זיכרון
  • רינדור
  • כוח
  • הפעלה
  • זמן ריצה של V8
  • מדיה
  • WebRTC
  • עיתונות
  • ביצועים של מצמוץ

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

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

אפשר להשתמש ב-Blink Perf במקרים חד-פעמיים שלא מתאימים לרתמות אחרות. ב-Blink Perf, אפשר למדוד אירועי מעקב בדפים חד-פעמיים.

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

כדאי להגביל את הבדיקות למספר הקטן ביותר שמתייחס לתרחישי השימוש החשובים ביותר. התחזוקה של תשתית הבנצ'מרק היא יקרה. רשימה של כל החומרה נתמכת זמינה במאמר מכשירים ל-Chrome Speed.

יש יותר מדרך אחת למדוד ביצועים. נקודות השוואה שמבוססות על טלמטריה שולטות ב-Chrome מתהליך חיצוני, וזה לא תמיד מספק את רמת השליטה הנדרשת. כחלופה, נקודות השוואה מבוססות gtest מאפשרות לקוד בדיקה לשתף את אותו תהליך כמו קוד Chrome. כדאי גם לשקול שימוש בכלים אחרים לשיפור הביצועים, כמו שימוש ב-UMA כדי למדוד את הביצועים במכשירים של משתמשים במקום בשיעור ה-Lab.

רוצים לקבל מידע נוסף על נקודות השוואה של Chrome? יש לפנות לכתובת telemetry@chromium.org.

משאבים נוספים