פתרון בעיות

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

תרחישי שכפול

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

איך עוקבים אחרי השהיות בשכפול?

ל-Memorystore for Valkey יש את המדד /instance/replication/maximum_offset_diff. המדד הזה עוקב אחרי ההבדל המקסימלי בהיסטוריית השכפול (בבייטים) של צומת במופע ראשי.

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

מומלץ להגדיר ערך סף למדד maximum_offset_diff. אם הסף נחצה, Memorystore for Valkey יכול לשלוח לכם התראה.

על סמך סוג הצומת של המופע, מומלץ להגדיר את ערך הסף באופן הבא:

  • אם סוג הצומת הוא shared-core-nano,‏ custom-pico,‏ custom-micro,‏ custom-mini,‏ standard-small,‏ highmem-medium,‏ highcpu-medium או standard-large, צריך להגדיר את ערך הסף כך שיהיה קטן מ-64MB.

  • אם סוג הצומת הוא highmem-xlarge או highmem-2xlarge, צריך להגדיר את ערך הסף כך שיהיה קטן מ-1GB.

מה עושים אם יש השהיה בשכפול בין המופע הראשי לבין העותקים שלו?

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

תרחישי שימוש במעבד

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

מה עושים אם נגמר המקום במאגר הפלט של המופע?

אם נגמר המקום במאגר הפלט של מופע Memorystore for Valkey, צריך לבצע את הפעולות הבאות:

  • מגדירים ערך קטן יותר לפרמטר maxmemory.
  • משתמשים במדיניות allkeys-lru maxmemory.

כשזיכרון המופע מלא ומגיעה פעולת כתיבה חדשה, שירות Memorystore for Valkey מפנה מקום לכתיבה על ידי הוצאת מפתחות, בהתאם למדיניות maxmemory של המופע. מדיניות allkeys-lru מסירה את המפתחות שהשימוש בהם היה הכי פחות עדכני (LRU) מכל קבוצת המפתחות.

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

למה יכול להיות שמדדים חיצוניים חסרים במופע שלכם?

אם יש במכונה שימוש גבוה במעבד או שהמשאבים של המכונה מוצו (למשל, בגלל יותר מדי חיבורים), יכול להיות שהמכונה תתנהג בצורה לא צפויה ושלא יוצגו מדדים חיצוניים.

תרחישים של ניהול זיכרון

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

באיזה מדד אפשר להשתמש כדי לקבוע שהמופע נמצא במצב של עומס על הזיכרון?

כדי לעקוב אחרי השימוש בזיכרון במופע של Memorystore for Valkey, מומלץ להציג את המדד /instance/memory/maximum_utilization. אם השימוש בזיכרון של המופע מתקרב ל-80% ואתם צופים שהשימוש בנתונים יגדל, כדאי להגדיל את הגודל של המופע כדי לשפר את הביצועים ולפנות מקום לנתונים חדשים.

תרחישי מעקב

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

איך מגדירים התראות ל-Memorystore for Valkey?

אפשר להשתמש ב-Cloud Monitoring כדי להגדיר התראות שיודיעו לכם אם מדדים כלשהם חורגים מערכי הסף שהגדרתם למופע. למידע נוסף על הגדרת התראות ב-Cloud Monitoring, אפשר לעיין במאמר הגדרת התראה ב-Monitoring לגבי השימוש בזיכרון.

תרחישים של ניהול חיבורים

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

מה עושים אם מגיעים למגבלת החיבורים או אם מתקבל זמן קצוב לתפוגה לחיבור?

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

אם זה קורה, צריך לבצע את הפעולות הבאות:

  • משתמשים במדד /instance/node/stats/rejected_connections_count כדי לקבוע את מספר החיבורים ש-Memorystore for Valkey דוחה כי צומת המכונה הגיע למגבלת הלקוחות המקסימלית.
  • משתמשים במדד /instance/node/clients/connected_clients כדי לקבוע את מספר הלקוחות שמחוברים לצומת המופע. כך תוכלו לראות אם כל הצמתים במופע נמצאים מתחת למגבלה.
  • כדי להפסיק חיבורים לא רצויים או חיבורים שדלפו, משתמשים בפקודה client kill.
  • להקטין את מספר החיבורים או את גודל המאגר באפליקציית הלקוח. מידע נוסף זמין במסמכי העזרה שקשורים לאפליקציית הלקוח.
  • משנים את המגבלה המקסימלית של הלקוחות. מידע נוסף מופיע במאמר בנושא הגדרת מופע.
  • להגדיל את המופע לסוג צומת גדול יותר כדי שלמופע תהיה מכסת חיבורים גבוהה יותר.

תרחישים של פסק זמן

בקטע הזה מוסברות בעיות שקשורות לפסק זמן (timeout) שעלולות להתרחש במופע שלכם.

מה עושים אם מקבלים הודעה על פסק זמן של קלט/פלט?

אם פעולת קריאה או כתיבה ב-Memorystore for Valkey לא מסתיימת בתוך פרק זמן מוגדר, מתרחש פסק זמן של קלט/פלט. יכולות להיות לכך כמה סיבות. לדוגמה, יכול להיות שעומס יתר יופעל על צומת אחד או יותר במופע.

אם מקבלים פסק זמן של קלט/פלט, מבצעים את הפעולות הבאות:

תרחישים של שגיאות בקישוריות

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

שגיאת חיבור שנגרמת בגלל כללים של חומת אש

כללים בחומת האש עלולים לגרום לשגיאות בחיבור על ידי חסימת היציאות שמשמשות את Memorystore for Valkey. צריך להוסיף את כל היציאות לרשימת ההיתרים של שתי נקודות הקצה של Private Service Connect של המופע. מידע נוסף על נקודות הקצה זמין במאמר כתובות רשת שמורות.

שגיאת חיבור שנגרמת בגלל מדיניות הארגון

יכול להיות שיש לכם מדיניות ארגונית שחוסמת את החיבורים של Private Service Connect למופע Memorystore for Valkey.

אם במדיניות הארגון שלכם נעשה שימוש במדיניות .restrictPrivateServiceConnectProducer, צריך להוסיף לרשימת ההיתרים את מספר התיקייה 672235397475, שהיא תיקייה שנועדה במיוחד ל-Memorystore for Valkey. לדוגמה:

name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
    rules:
      - values:
          allowedValues:
          - under:folders/672235397475

אם במדיניות הארגון שלכם נעשה שימוש במדיניות .disablePrivateServiceConnectCreationForConsumers צריך להוסיף את SERVICE_PRODUCERS לרשימת ההיתרים. לדוגמה:

name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
    rules:
      - values:
          allowedValues:
          - SERVICE_PRODUCERS

טיפול בשגיאות במופעים שבהם מצב האשכול מושבת

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

  • במקרה של מעבר לגיבוי, החיבורים הקיימים מהאפליקציה ייסגרו ותופיע הודעת השגיאה ERR role change occurred. הודעת השגיאה הזו מוצגת גם אם האפליקציה מתחברת לנקודת הקצה לקריאה של מופע, וכל העותקים לקריאה של המופע נכשלים. במקרה כזה, האפליקציה צריכה לנסות להתחבר שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).

תרחישי התמדה

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

תנועת הכתיבה חורגת מהיכולת של Memorystore for Valkey לבצע דחיסה ולפנות מקום באמצעות שכתוב של AOF

במצב כזה, קובץ ה-Append-Only File (AOF) גדל מהר יותר מהמהירות שבה תהליך השכתוב יכול להתמודד. התוצאה היא שהדיסק מתמלא, פעולות הכתיבה נכשלות והפעולות שדורשות יצירת עותק משוכפל וסנכרון מלא נחסמות.

ב-Memorystore for Valkey הוטמעו אמצעי בקרה כדי לווסת את קצב העברת הנתונים לכתיבה. כך אפשר לוודא ששכתוב קובץ ה-AOF יכול לעמוד בקצב של עומסי עבודה גבוהים ומתמשכים של כתיבה.