סקירה כללית על Cloud Profiler

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

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

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

סוגי הפרופילים שזמינים

‫Cloud Profiler תומך בסוגים שונים של פרופילים בהתאם לשפה שבה נכתבה התוכנית. בטבלה הבאה מוצג סיכום של סוגי הפרופילים הנתמכים לפי שפה:

סוג הפרופיל המשך Java Node.js Python
זמן CPU (מעבד) YY Y
Heap YY Y
זיכרון בערימה שהוקצה Y
מחלוקת Y
Threads Y
זמן בפועל Y YY

מידע מלא על דרישות השפה וההגבלות מופיע בדף ההוראות של השפה. מידע נוסף על סוגי הפרופילים האלה זמין במאמר מושגים שקשורים ליצירת פרופילים.

הגדרות נתמכות

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

סביבות המשך Java Node.js Python
Compute Engine YYYY
Google Kubernetes Engine YYYY
סביבה גמישה של App Engine YYYY
סביבה רגילה של App Engine YYYY
Managed Service for Apache Spark Y
Dataflow YY
מחוץ ל Google Cloud YYYY

בטבלה הבאה מפורטות מערכות ההפעלה הנתמכות:

מערכות הפעלה המשך Java Node.js Python
הטמעה של ספריית C רגילה ב-Linux
glibc
YY YY
הטמעה של ספריית C רגילה ב-Linux
musl
YY (אלפא) YY (אלפא)

השפעה על הביצועים

‫Cloud Profiler יוצר פרופיל יחיד על ידי איסוף נתוני פרופיל, בדרך כלל למשך 10 שניות, כל דקה עבור מופע יחיד של השירות שהוגדר באזור יחיד של Compute Engine. לדוגמה, אם שירות GKE מריץ 10 רפליקות של פוד, אז בפרק זמן של 10 דקות נוצרים בערך 10 פרופילים, וכל פוד עובר פרופיל פעם אחת בערך. תקופת יצירת הפרופיל היא אקראית, ולכן יש וריאציות. מידע נוסף זמין במאמר בנושא איסוף פרופילים.

התקורה של פרופיל המעבד והקצאת זיכרון בערימה (heap allocation) בזמן איסוף הנתונים היא פחות מ-5%. התקורה, שמפוזרת על פני זמן הביצוע ועל פני כמה עותקים של שירות, היא בדרך כלל פחות מ-0.5 אחוז, ולכן זו אפשרות משתלמת לניתוח פרופילים שפועל תמיד במערכות ייצור.

רכיבים

‫Cloud Profiler מורכב מסוכן פרופילים שאוסף את הנתונים, ומממשק קונסולה ב- Google Cloudשמאפשר לכם להציג ולנתח את הנתונים שנאספו על ידי הסוכן.

סוכן ליצירת פרופילים

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

למידע על הפעלת סוכן Cloud Profiler, ראו:

ממשק הכלי לניתוח ביצועים (profiler)

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

הממשק של Cloud Profiler

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

מכסות ומגבלות

מידע על הצגה וניהול של המכסות ב-Profiler זמין במאמר מכסות ומגבלות.

אבטחת מידע

‫Cloud Profiler הוא שירות שנתמך על ידי VPC Service Controls. מידע נוסף זמין במסמכי התיעוד של VPC Service Controls.

מנתח נתונים

אחרי ש-Profiler אוסף נתונים, אפשר להציג ולנתח את הנתונים האלה באמצעות הממשק של Profiler.

נכנסים לדף Profiler במסוף Google Cloud :

עוברים אל Profiler

אפשר גם להשתמש בסרגל החיפוש כדי למצוא את הדף הזה.