בדף הזה מוסבר איך מופע Memorystore for Valkey מתנהג במהלך שינוי הגודל.
אפשר להגדיל את הקיבולת של המופע בדרכים הבאות:
אפשר לשנות את מספר הרסיסים של המופע. הפעולה הזו נקראת התאמה אופקית. אפשר להרחיב את המופע באופן אופקי באחת מהדרכים הבאות:
הרחבת הקיבולת: הגדלת הקיבולת של המופע, כך שלמופע יהיו יותר זיכרון וכוח עיבוד כדי לטפל בנפח גדול יותר של נתונים או תנועה. הקיבולת של המכונה נקבעת לפי מספר הרסיסים במכונה.
הגדלת מספר המופעים מאפשרת לאפליקציה להתמודד עם ביקוש מוגבר בלי לפגוע בביצועים. כדי להרחיב אופקית את המכונה, מוסיפים לה שרדים.
הקטנת הקיבולת: הקטנת הקיבולת של המופע, שמקטינה גם את כוח העיבוד וגם את כמות הזיכרון שזמינה לאחסון נתונים. המצב הזה קורה כשדרישות הנתונים של האפליקציה יורדות ואתם צריכים להפחית את השימוש במשאבים כדי לחסוך בעלויות. כדי לצמצם את המכונה, מקטינים את מספר הרסיסים במכונה.
אפשר לשנות את סוג הצומת של המופע. הפעולה הזו נקראת שינוי גודל אנכי. אפשר להגדיל את הקיבולת של מופע באופן אנכי באחת מהדרכים הבאות:
- הגדלת הקיבולת: הגדלת הקיבולת של המופע. הקיבולת של המכונה שלכם נקבעת לפי סוג הצומת של המכונה. כדי להגדיל את הקיבולת של מופע, צריך לשנות את סוג הצומת לסוג צומת גדול יותר. לדוגמה, אפשר להגדיל את המכונה מ
standard-smallלסוג צומתhighmem-medium. הקטנת הקיבולת: הקטנת הקיבולת של המופע. כדי להקטין את הקיבולת של מופע, משנים את סוג הצומת לסוג צומת קטן יותר. לדוגמה, אפשר להקטין את הקיבולת של מופע מסוג צומת
highmem-mediumלסוג צומתstandard-small.
- הגדלת הקיבולת: הגדלת הקיבולת של המופע. הקיבולת של המכונה שלכם נקבעת לפי סוג הצומת של המכונה. כדי להגדיל את הקיבולת של מופע, צריך לשנות את סוג הצומת לסוג צומת גדול יותר. לדוגמה, אפשר להגדיל את המכונה מ
ההשפעה של שינוי קנה המידה
במהלך פעולת שינוי הגודל, הזמינות של המופע לא מושפעת. עם זאת, כשמשנים את מספר הרסיסים במופע, Memorystore for Valkey מבצע איזון מחדש של מרחב המפתחות של המופע. הפעולה הזו עלולה לגרום לזמן אחזור ארוך יותר במהלך פעולת ההרחבה.
בנוסף, ההשפעה של שינוי סוג הצומת כדי להגדיל את המכונה באופן אנכי דומה למה שקורה בפעולת תחזוקה.
תרחישי כשל
אם נתקלתם בשגיאה במהלך פעולת ההרחבה, סביר להניח שהיא נגרמה בגלל אחד מהתרחישים הבאים:
אתם רוצים לעדכן את מספר הרסיסים של המכונה, אבל אין לכם מספיק זיכרון פנוי לסוג הצומת
shared-core-nanoשל המכונה.כדי לפתור את הבעיה, אפשר להגדיל את המכונה או לפנות זיכרון מהצמתים של המכונה. כדי לפנות מקום בזיכרון:
- התחברות למופע של Memorystore for Valkey.
- כדי לקבל פרטים על המכונה, כולל כתובת ה-IP ומספר היציאה, משתמשים בפקודה
gcloud memorystore instances describe. - חשוב לשים לב לכתובת ה-IP ולמספר היציאה של המופע.
כדי לקבל מידע על הצמתים של המופע, משתמשים בפקודה הבאה:
valkey-cli -h IP_ADDRESS -p PORT_NUMBER cluster nodes
מחליפים את IP_ADDRESS ו-PORT_NUMBER בערכים שרשמתם בשלב הקודם.
רושמים את כתובת ה-IP ואת מספר היציאה של הצומת שאין בו מספיק נפח אחסון פנוי. המזהה של הצומת הזה זהה למזהה שמופיע בשגיאה.
כדי להתחבר לצומת הזה, משתמשים בפקודה הבאה:
valkey-cli -h IP_ADDRESS -p PORT_NUMBER
מחליפים את IP_ADDRESS ו-PORT_NUMBER בערכים שרשמתם בשלב הקודם.
בהנחיה, מזינים את הפקודה
info memory.בפלט מופיעים ערכים לפרמטרים
used_memoryו-maxmemory. used_memoryהוא נפח הזיכרון שהצומת משתמש בו, ו-maxmemoryהוא נפח הזיכרון שזמין לצומת.מחלקים את הערך של הפרמטר
used_memoryבערך של הפרמטרmaxmemoryומוודאים שהמנה גדולה מ-98%.כדי לפנות מקום לצומת, מוחקים חלק מהמפתחות של הצומת.
מריצים שוב את הפקודה
info memory. בפלט, הערך של הפרמטרused_memoryקטן יותר.מחלקים את הערך של הפרמטר
used_memoryבערך של הפרמטרmaxmemoryומוודאים שמנת החלוקה קטנה מ-98%. אם לא, צריך למחוק עוד מפתחות.לגבי כל צומת אחר שאין בו מספיק מקום פנוי, חוזרים על שלבים 4 עד 11 של התהליך הזה.
הגדלתם את מספר הרסיסים למספר קטן יותר, שלא יכול להכיל את כל המפתחות שמאוחסנים ב-Memorystore for Valkey במופע המקורי. כדי לפתור את הבעיה, צריך להגדיל את מספר הרסיסים כך שיוכלו להכיל את כל המפתחות המאוחסנים. מידע נוסף על הגדלת מספר הרסיסים במופע זמין במאמר הגדלת מספר הרסיסים.
התבצע שינוי גודל לסוג קטן יותר של צומת, שאין לו את הקיבולת להכיל את כל הנתונים שמאוחסנים ב-Memorystore for Valkey בסוג הצומת המקורי. אם זה קורה, Memorystore for Valkey מספק לכם סוג צומת מומלץ להקטנת הגודל באופן אנכי.
עדכנתם את סוג הצומת של המופע, והחלפתם את ההגדרות שמוגדרות כברירת מחדל לסוג הצומת המקורי, או שההגדרות האלה כבר הוחלפו. עם זאת, סוג הצומת החדש והמורחב לא תומך בערכים של הגדרות ברירת המחדל, או שההגדרות לא תקפות לסוג הצומת. אם זה קורה, Memorystore for Valkey מחזיר שגיאה. כדי לפתור את הבעיה, צריך לשנות את ההגדרות באופן ידני כך שיהיו תקפות לסוג הצומת החדש.
הגדלתם את הקיבולת של המופע בתקופה של עומס כתיבה גבוה (לדוגמה, במהלך בדיקת עומס). כדי לפתור את הבעיה, צריך להגדיל את הקיבולת בתקופות של תנועה נמוכה במופע.
יש לכם משבצת שמכילה מפתח גדול, ואתם רוצים להעביר את המפתח הזה לצומת אחר. עם זאת, בצומת הזה אין מספיק זיכרון כדי לתמוך במפתח. אי אפשר לעדכן את המופע. כדי לפתור את הבעיה, צריך להקטין את גודל המפתח כך שיהיה קטן מ-128MB. לאחר מכן, מנסים שוב לבצע את פעולת העדכון.
מספר המשבצת שבבעלות צומת של מופע לא ידוע, אבל טווח המשבצות ידוע. Memorystore for Valkey מחזיר הודעת שגיאה. אם זה קורה, צריך להקטין את גודל המפתח ולנסות שוב לבצע את פעולת העדכון.
הגדלתם את הקיבולת של המופע על ידי הרחבת קנה המידה למספר קטן יותר של רסיסים. עם זאת, ל-Memorystore for Valkey אין מספיק זיכרון כדי להכיל את הבקשה הזו. כדי לפתור את הבעיה, צריך להקטין את הקיבולת של המופע על ידי צמצום קנה המידה למספר הרסיסים המקורי והגדול יותר.
שיטות מומלצות
כדי לעזור לכם להגדיל את הקיבולת של המופע, וכדי להגדיל את המהירות והאמינות של הגדלת המופע, מומלץ להגדיל אותו בתקופות של נפח תנועה נמוך, בכל הזדמנות שמתאפשרת. מידע נוסף על מעקב אחרי התנועה במכונה זמין במאמר מעקב אחרי מכונות.