פתרון בעיות שקשורות לעבודות אצווה איטיות או תקועות

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

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

זיהוי שורש הבעיה

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

    כדי לוודא שהעבודה התחילה לעבד את הנתונים, מחפשים ביומן job-message את רשומת היומן הבאה:

    All workers have finished the startup processes and began to receive work requests
    
  2. כדי להשוות את ביצועי המשימות בין משימות שונות, צריך לוודא שנפח נתוני הקלט, הגדרת העובדים, התנהגות ההתאמה האוטומטית של קנה המידה וההגדרות של Dataflow Shuffle זהים.

  3. בודקים ביומני job-message אם יש בעיות כמו חריגה ממכסות, בעיות במלאי או מיצוי של כתובות IP.

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

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

  6. בודקים את מדדי התפוקה, המעבד (CPU) והשימוש בזיכרון.

  7. בודקים את יומני העובדים כדי לראות אם יש אזהרות ושגיאות.

  8. בדיקת מקשי קיצור

  9. אם אתם לא משתמשים ב-Dataflow Shuffle, כדאי לבדוק את יומני ה-Shuffler כדי לראות אם יש אזהרות ושגיאות במהלך פעולת ה-Shuffle. אם מופיעה שגיאת זמן קצוב לתפוגה של RPC ביציאה 12345 או 12346, יכול להיות שחסר כלל חומת אש במשימה. כללים של חומת אש ל-Dataflow

  10. אם הפעלתם את Portable Runner, צריך לבדוק את היומנים של harness כדי לראות אם יש שגיאות. מידע נוסף זמין במאמר בנושא פתרון בעיות ב-Portable Runner.

זיהוי של משתמשים שלא השלימו את ההמרה

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

זיהוי שלבים איטיים או תקועים

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

אחרי שמאתרים את השלב שבו יש צוואר בקבוק, אפשר לבצע את הפעולות הבאות:

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

זיהוי עובד עם פיגור

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

כלים לניפוי באגים

אם צינור הנתונים איטי או תקוע, הכלים הבאים יכולים לעזור לכם לאבחן את הבעיה.

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