שימוש במשאבים בפרופיל

במאמר הזה מוסבר איך ליצור פרופיל של השימוש במשאבים ב-Managed Service for Apache Spark. ‫Cloud Profiler אוסף ומדווח באופן רציף על נתוני השימוש במעבד (CPU) של האפליקציה ועל הקצאת הזיכרון. אפשר להפעיל את יצירת הפרופיל כששולחים אצווה או כשיוצרים עומס עבודה של סשן באמצעות מאפייני הפרופיל שמפורטים בטבלה הבאה. ‫Managed Service for Apache Spark מוסיף אפשרויות שקשורות ל-JVM להגדרות spark.driver.extraJavaOptions ו-spark.executor.extraJavaOptions שמשמשות לעומס העבודה.

אפשרות תיאור ערך ברירת מחדל
dataproc.profiling.enabled הפעלת התאמה לפרופיל של עומס העבודה true או false false
dataproc.profiling.name שם הפרופיל בשירות Profiler PROFILE_NAME ‫spark-WORKLOAD_TYPE-WORKLOAD_ID, כאשר:
  • הערך של WORKLOAD_TYPE הוא batch או session
  • הערך של WORKLOAD_ID הוא batchId או sessionId

הערות:

  • ב-Managed Service for Apache Spark, הגרסה של כלי הפרופיל מוגדרת למזהה ה-UUID של העיבוד ברצף או למזהה ה-UUID של הסשן.
  • Profiler תומך בסוגי עומסי העבודה הבאים של Spark: Spark,‏ PySpark,‏ SparkSql ו-SparkR.
  • עומס העבודה צריך לפעול יותר משלוש דקות כדי ש-Profiler יוכל לאסוף ולהעלות נתונים לפרויקט.
  • אפשר לשנות את אפשרויות הפרופיל שנשלחו עם עומס העבודה על ידי יצירת SparkConf והגדרת extraJavaOptions בקוד. שימו לב: הגדרת מאפייני extraJavaOptions כששולחים את עומס העבודה לא מבטלת את אפשרויות הפרופיל שנשלחו עם עומס העבודה.

דוגמה לאפשרויות של כלי הפרופילר שמשמשות לשליחת אצווה מופיעה במאמר דוגמה לעומס עבודה של אצווה ב-PySpark.

הפעלת יצירת פרופיל

כדי להפעיל פרופילים בעומס עבודה:

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

דוגמה לעומס עבודה באצווה ב-PySpark

בדוגמה הבאה נעשה שימוש ב-CLI של gcloud כדי לשלוח עומס עבודה של PySpark batch עם פרופיל מופעל.

gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \
    --region=REGION \
    --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \
    --  other args

נוצרים שני פרופילים:

  • PROFILE_NAME-driver כדי ליצור פרופיל של משימות של מנהל התקן Spark
  • PROFILE_NAME-executor לפרופיל של משימות של מנוע ההפעלה של Spark

צפייה בפרופילים

אפשר לראות פרופילים מ-Profiler במסוף Google Cloud .

המאמרים הבאים