מידע על התאמת הקיבולת של מופע

בדף הזה מוסבר איך המכונה של Memorystore for Valkey פועלת במהלך שינוי קנה המידה.

אפשר לשנות את הקיבולת של המכונה בדרכים הבאות:

  • אתם יכולים לשנות את מספר השארדים במכונה. זה נקרא שינוי קנה מידה אופקי. אפשר לשנות את קנה המידה של מכונה באופן אופקי באחת מהדרכים הבאות:

    • הרחבה אופקית בהתאם לעומס (scale out): הגדלת הקיבולת של המכונה, כדי לתת לה יותר זיכרון וכוח עיבוד לטיפול בנפח גדול יותר של נתונים או תנועה. הקיבולת של המכונה נקבעת לפי מספר ה-shards במכונה.

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

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

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

    • הרחבה: הגדלת הקיבולת של המכונה. הקיבולת של המכונה נקבעת לפי סוג הצומת של המכונה. כדי להגדיל את המכונה, משנים את סוג הצומת לסוג גדול יותר. לדוגמה, אפשר להגדיל את המכונה מסוג צומת standard-small לסוג צומת highmem-medium.
    • ‫Scale down: הקטנת הקיבולת של המכונה. כדי להקטין את המכונה, משנים את סוג הצומת לסוג קטן יותר. לדוגמה, אפשר להקטין את המכונה מסוג הצומת highmem-medium לסוג הצומת standard-small.

ההשפעה של שינוי קנה המידה

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

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

תרחישים של כשלים

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

  • אתם רוצים לעדכן את מספר השארדים במכונה, אבל אין לכם מספיק זיכרון פנוי לסוג הצומת shared-core-nano במכונה.

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

    1. התחברות למכונה של Memorystore for Valkey.
    2. כדי לקבל פרטים על המכונה, כולל כתובת ה-IP ומספר היציאה, משתמשים בפקודה gcloud memorystore instances describe.
    3. שימו לב לכתובת ה-IP ולמספר היציאה של המכונה.
    4. כדי לקבל מידע על הצמתים של המכונה, משתמשים בפקודה הבאה:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes
      

      מחליפים את IP_ADDRESS ו-PORT_NUMBER בערכים שציינתם בשלב הקודם.

    5. רושמים את כתובת ה-IP ואת מספר היציאה של צומת שאין בו מספיק מקום פנוי. המזהה של הצומת הזה תואם למזהה שמופיע בשגיאה.

    6. כדי להתחבר לצומת הזה, משתמשים בפקודה הבאה:

      valkey-cli -h IP_ADDRESS -p PORT_NUMBER
      

      מחליפים את IP_ADDRESS ו-PORT_NUMBER בערכים שציינתם בשלב הקודם.

    7. מזינים את הפקודה info memory.

      בפלט מופיעים הערכים של הפרמטרים used_memory ו-maxmemory. ‫used_memory הוא נפח הזיכרון שהצומת משתמש בו, ו-maxmemory הוא נפח הזיכרון שזמין לצומת.

    8. מחלקים את הערך של הפרמטר used_memory בערך של הפרמטר maxmemory, ומוודאים שהמנה גדולה מ-98%.

    9. כדי לפנות מקום לצומת, מוחקים חלק מהמפתחות של הצומת.

    10. מזינים שוב את הפקודה info memory. בפלט, הערך של הפרמטר used_memory קטן יותר.

    11. מחלקים את הערך של הפרמטר used_memory בערך של הפרמטר maxmemory, ומוודאים שהמנה קטנה מ-98%. אם לא, צריך למחוק עוד מפתחות.

    12. אם יש עוד צמתים שאין בהם מספיק מקום פנוי, חוזרים על שלבים 4 עד 11 בתהליך הזה.

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

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

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

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

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

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

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

שיטות מומלצות

כדי להגדיל את הקיבולת של המכונה, מומלץ לפעול לפי השיטות המומלצות הבאות:

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