בדף הזה מוסבר על תרחישי שגיאה שונים, ומופיעות בו הנחיות לפתרון השגיאות.
תרחישי שכפול
בקטע הזה מוסבר על בעיות בשכפול שעלולות להתרחש במופע שלכם.
איך עוקבים אחרי השהיות בשכפול?
ל-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, צריך להגדיר את ערך הסף כך שיהיה קטן מ-1 GB.
מה עושים אם יש השהיה בשכפול בין המופע הראשי לבין העותקים שלו?
יכול להיות שיהיה עיכוב משמעותי בשכפול אם יש יותר מדי פעולות כתיבה במופע הראשי, והרפליקות לא מצליחות לעמוד בקצב של שכפול הפעולות האלה. כדי לפתור את הבעיה, מומלץ להגדיל את הקיבולת של המופע על ידי הגדלת מספר הרסיסים של המופע.
תרחישי שימוש במעבד
בקטע הזה מוסברות בעיות בשימוש במעבד שעלולות להתרחש במכונה שלכם.
מה עושים אם נגמר המקום במאגר הפלט של המופע?
אם נגמר המקום במאגר הפלט של מופע Memorystore for Valkey, צריך לבצע את הפעולות הבאות:
- מגדירים ערך קטן יותר לפרמטר
maxmemory. - משתמשים במדיניות
allkeys-lrumaxmemory.
כשזיכרון המופע מלא ומגיעה פעולת כתיבה חדשה, 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 לא מסתיימת בתוך פרק זמן מוגדר, מתרחש פסק זמן של קלט/פלט. יכולות להיות לכך כמה סיבות. לדוגמה, יכול להיות שעומס יתר יופעל על צומת אחד או יותר במופע.
אם מקבלים פסק זמן של קלט/פלט, מבצעים את הפעולות הבאות:
- משתמשים במדד
instance/cpu/maximum_utilizationכדי לקבוע את ניצול המעבד (CPU) של צומת במופע, מ-0.0 (0%) עד 1.0 (100%). מומלץ שכל הצמתים יהיו עם אחוז ניצול CPU של פחות מ-80%. מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש במעבד. - כשהלקוח מתנתק מהשרת כי פג הזמן הקצוב של השרת, צריך לנסות שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff) ועם Jitter. כך נמנע מצב שבו מספר לקוחות מעמיסים על השרת בו-זמנית.
תרחישים של שגיאות קישוריות
בקטע הזה מוסברות בעיות קישוריות שעלולות להתרחש במופע שלכם.
שגיאת חיבור שנגרמת בגלל כללים של חומת אש
כללים בחומת האש עלולים לגרום לשגיאות בחיבור על ידי חסימת היציאות שמשמשות את 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. הודעת השגיאה הזו מופיעה גם אם האפליקציה מתחברת לנקודת הקצה לקריאה של מופע, וכל העותקים לקריאה של המופע נכשלים. במקרה כזה, האפליקציה צריכה לנסות שוב להתחבר עם נסיגה אקספוננציאלית.
תרחישי התמדה
בקטע הזה מוסברות בעיות של התמדה שעלולות להתרחש במופע שלכם.
תעבורת הכתיבה חורגת מהיכולת של Memorystore for Valkey לדחוס ולפנות מקום באמצעות שכתוב של AOF
אם זה קורה, קובץ ה-Append-Only File (AOF) גדל מהר יותר מהמהירות שבה תהליך השכתוב יכול להתמודד. התוצאה היא שהדיסק מתמלא, פעולות הכתיבה נכשלות והפעולות שדורשות יצירת עותק משוכפל וסנכרון מלא נחסמות.
ב-Memorystore for Valkey הוטמעו אמצעי בקרה כדי לווסת את קצב העברת הנתונים לכתיבה. כך אפשר לוודא ששכתוב קובץ ה-AOF יכול לעמוד בקצב של עומסי עבודה גבוהים ומתמשכים של פעולות כתיבה.