שאלות נפוצות בנושא Memorystore for Valkey

בדף הזה תוכלו למצוא תשובות לשאלות הנפוצות הבאות לגבי השימוש ב-Memorystore for Valkey:

כמה זיכרון ומעבד מומלץ להשתמש?

מומלץ ששימוש הזיכרון לא יעלה על 80%. מומלץ גם להפעיל את המכונה עם ניצול ממוצע של 60% מה-CPU. כתוצאה מכך, אתם יכולים לסבול את אובדן הזמינות של אזור זמינות אחד, שמהווה בערך שליש מהקיבולת הכוללת שלכם. בתרחיש הזה, ממוצע השימוש במעבד בצמתים שנותרו הוא בערך 90%.

איך אפשר לעקוב אחרי השימוש ב-CPU ובזיכרון?

כדי לעקוב אחרי השימוש במעבד (CPU) גם בצומת הראשי של Memorystore for Valkey וגם בכל העותקים לקריאה שלו, משתמשים במדד /instance/cpu/maximum_utilization. המדד הזה מודד את השימוש המקסימלי ביחידת העיבוד המרכזית (CPU) בכל הצמתים במופע, מ-0.0 (0%) עד 1.0 (100%). מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש במעבד.

כדי לעקוב אחרי הזיכרון שבו משתמשים הצומת הראשי של Memorystore for Valkey והרפליקות לקריאה, משתמשים במדד /instance/node/memory/utilization. המדד הזה מודד את ניצול הזיכרון של צומת יחיד במופע, מ-0.0 (0%) עד 1.0 (100%).

איך מגדירים התראות למעקב אחרי השימוש במעבד ובשימוש בזיכרון?

כדי להגדיר התראות ב-Monitoring על השימוש במעבד ובזיכרון, משתמשים ב-Cloud Monitoring. לדוגמה, אפשר להגדיר התראה שתתקבל אם המדד /instance/memory/maximum_utilization יעבור את ערך הסף שהגדרתם. למידע נוסף, אפשר לעיין במאמר בנושא הגדרת התראה ב-Monitoring על השימוש בזיכרון.

כמה חיבורים מאפליקציית הלקוח מומלץ להשאיר פתוחים?

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

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

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

כדי לעקוב אחרי מספר החיבורים ללקוח שבהם אתם משתמשים, אפשר להשתמש במדד /instance/node/clients/connected_clients. המדד הזה מודד את מספר הלקוחות שמחוברים לכל צומת במופע.

מה עושים אם יש יותר מדי חיבורים ללקוח?

מספר החיבורים המקסימלי של הלקוח, שאפשר למצוא באמצעות המדד /instance/clients/maximum_connected_clients, צריך להיות נמוך מהערך שמשויך לפרמטר maxclients. אם הערכים שווים, צריך לבצע את הפעולות הבאות:

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

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

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

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

איך אתם מאבטחים את הנתונים?

כדי להגן על הנתונים, Memorystore for Valkey מספק לכם את המנגנונים הבאים:

  • אימות באמצעות ניהול זהויות והרשאות גישה (IAM): שימוש ב-IAM כדי לנהל את גישת ההתחברות של המשתמשים וחשבונות השירות. אימות מבוסס-IAM משתלב עם Valkey AUTH, ומאפשר לכם להחליף פרטי כניסה (אסימוני IAM) בצורה חלקה בלי להסתמך על סיסמאות סטטיות.
  • הצפנה בזמן ההעברה: הצפנה של כל התעבורה ב-Valkey באמצעות פרוטוקול Transport Layer Security ‏ (TLS). כשההצפנה במעבר מופעלת, לקוחות Valkey מתקשרים בצורה מאובטחת דרך חיבור. לקוחות Valkey שלא הוגדרו ל-TLS נחסמים.

מהן השיטות המומלצות לשימוש בקוד לקוח?

כדי להשתמש בקוד לקוח עם Memorystore for Valkey בצורה אופטימלית, מומלץ להשתמש בשיטות המומלצות הבאות:

  • כדי לחבר את האפליקציה למופע של Memorystore for Valkey עם Cluster Mode Enabled, צריך להשתמש בלקוח מומלץ, כמו valkey-go,‏ iovalkey,‏ valkey-py או Valkey GLIDE.

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

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

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

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

אילו אפשרויות יש לכם לגבי עמידות הנתונים?

‫Memorystore for Valkey מספק לכם את התכונות הבאות לעמידות הנתונים:

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

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

    ‫Memorystore for Valkey מציע את סוגי העמידות הבאים:

    • שמירה מתמשכת של נתוני מסד נתונים של Redis‏ (RDB): כדי להגן על הנתונים, אפשר לשמור תמונות מצב של הנתונים באחסון עמיד. אתם בוחרים את התדירות של תמונות המצב האלה על ידי בחירת מרווח זמן בין תמונות מצב. אם מתרחשים כשלים בצומת, אפשר לשחזר את הנתונים גם אם לא ניתן לבצע מעבר לגיבוי בעת כשל.

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

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

    גיבויים שימושיים בתרחישים הבאים:

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

    שכפול בין אזורים ב-Memorystore for Valkey מספק לכם את היתרונות הבאים:

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

איך מקבלים את הביצועים הכי טובים של המכונה?

כדי לשפר את הביצועים של מופע Memorystore for Valkey, צריך לבצע את הפעולות הבאות:

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

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

    במקום להשתמש בפקודות האלה, כדאי להשתמש בפקודות שצורכות פחות משאבים. לדוגמה, כדי לסרוק את כל מרחב המפתחות, אל תשתמשו בפקודה KEYS. במקום זאת, צריך להשתמש ב-SCAN.

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

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

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

  • משנים את הערך של הפרמטר maxmemory-policy. הפרמטר הזה מציין את ההתנהגות של Valkey כשנתוני המופע מגיעים למגבלה maxmemory.

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

    מידע נוסף על הערכים השונים שאפשר להגדיר לפרמטר maxmemory-policy זמין במאמר Maxmemory policies. מידע נוסף על עדכון הפרמטר הזה זמין במאמר עדכון פרמטר הגדרה.

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

    כדי לשפר את הביצועים של מופע:

    1. אפשר להשתמש במדדי המעקב total_keyspace_hits_count ו-total_keyspace_misses_count כדי לקבוע את המספר הכולל של חיפושי מפתחות מוצלחים עבור המופע ואת המספר הכולל של חיפושי מפתחות שנכשלו עבור המופע, בהתאמה.
    2. מחלקים את המספר הכולל של ההיטים במספר הכולל של ההיטים וההחמצות
      (כלומר, היטים חלקי (היטים + החמצות)). המנה היא יחס הפגיעה במטרה.
    3. כדי לשנות את המופע כך שיחס הפגיעה במטמון יהיה המתאים לכם, צריך לשנות את גודל המופע. אפשר להגדיל או להקטין את מספר הרסיסים, או להגדיל או להקטין את סוג הצומת. מידע נוסף זמין במאמר מידע על שינוי הקיבולת של מופע.

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

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

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

איך אפשר לבצע אופטימיזציה של זמינות גבוהה למופע?

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

אם יוצרים מופע של זמינות גבוהה, מומלץ להשתמש במדד /instance/node/replication/offset. באמצעות המדד הזה, אפשר לעקוב אחרי ההפרש ברפליקציה (בבייטים) של צומת יחיד במופע. ‫Replication offset הוא מספר הבייטים שלא שוכפלו ב-Memorystore for Valkey בין הצומת הראשי לבין העותקים לקריאה.