הגדרות נתמכות של Memcached

בדף הזה מופיעה רשימה של פרמטרים של הגדרות Memcached שאפשר לשנות ושאי אפשר לשנות ב-Memorystore for Memcached, וגם ערכי ברירת המחדל של הפרמטרים.

פרמטרים להגדרה שאפשר לשנות

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

פרמטר ערכים קבילים ערך ברירת המחדל תיאור
listen-backlog (-b) 1-10000 1024 אורך מתכוונן של תור ה-backlog של החיבור. ה-backlog הוא המספר של בקשות לחיבור לרשת שהוכנסו לתור לעיבוד על ידי Memcached.
disable-flush-all (-F) true, false FALSE הגדרת disable-flush-all ל-true משביתה את הפקודה flush-all של Memcached בקוד פתוח. שינוי ההגדרה הזו יגדיל את הערך של המונה cmd_flush, אבל לא יגרום לניקוי בפועל.
disable-watch (-W) true, false FALSE גרסה 1.6.15 של Memcached ואילך. אם הפרמטר הזה מוגדר לערך true, השימוש בפקודות בשעון מושבת. בעזרת Watchers אפשר להתחבר ל-Memcached ולבדוק מה קורה בתוך המערכת. אפשר לצפות בנתוני אחזור, שינויים, אירועי חיבור וכו' באמצעות הפקודה watch <fetchers|mutation|evictions|connevents|deletions>.
max-item-size (-I)‎ ‫524288-134217728 (בייטים) 1048576 הפרמטר max-item-size של Memcached מגדיר את מגבלת הגודל המקסימלית של פריטים שמאוחסנים במופע. היא כפופה לכמה מגבלות נוספות:
  • הערך של max-item-size צריך להיות גדול או שווה ל-slab_chunk_max. הערך של slab_chunk_max מוגדר ל-524288 בייט (512‎ KiB), ו-Memorystore for Memcached לא תומך בשינוי הערך הזה. לכן, הערך המינימלי של max-item-size הוא 524288 בייטים, בניגוד למינימום הנתמך ב-Memcached בקוד פתוח (1024 בייטים).
  • הערך של max-item-size צריך להתחלק ב-slab_chunk_max (524288 בייט) ללא שארית.
  • הערך של max-item-size לא יכול להיות יותר ממחצית הגודל הכולל שהוקצה למטמון (הדגל ‎-m).
slab-min-size (-n) ‫1-1024 (בייטים) 48 הגדרת הגודל המינימלי של פריט ואת הגודל של ה-slab הקטן ביותר ב-Memcached.
גורם הגידול של הלוח (-f) 1.01-100.00 1.25 slab-growth-factor הוא המכפיל שמשמש לחישוב הגודל של חלקי Memcached. הקטנת הערך הזה יכולה לשפר את היעילות של השימוש בזיכרון, אבל זה תלוי בגודל הפריטים שצריך לאחסן ובזיכרון הזמין של המופע.
פרוטוקול (-B) auto, ascii אוטומטי פרוטוקול הקישור. המדיניות הזו מציינת באיזה פרוטוקול הלקוחות צריכים להשתמש כשהם מנסים להתחבר לשרת. ‫Auto תומך בפרוטוקול בינארי ובפרוטוקול ASCII.
disable-cas (-C) true, false FALSE אם disable-cas מוגדר ל-true, פעולות הבדיקה וההגדרה (CAS) מושבתות. השבתת פעולות CAS חוסכת 8 בייטים לכל פריט במטמון. Memcached משתמש בפעולת CAS כדי לרענן את הנתונים של פריט אם הוא לא עודכן מאז האחזור האחרון.
disable-evictions (-M) true, false FALSE אם הערך הוא true, כשאין מספיק זיכרון, Memcached מחזיר שגיאה במקום להסיר פריטים. המופע לא יקבל פעולות כתיבה עד שיהיה זיכרון פנוי.
max-reqs-per-event (-R) 1-1000 20 מגביל את מספר הבקשות לכל אירוע שחיבור לקוח יחיד יכול לשלוח. אחרי שהלקוח חורג מהערך הזה, השרת נותן עדיפות ללקוחות אחרים לפני שהוא ממשיך לעבד את הבקשה המקורית של הלקוח.
reserved-memory-percent 0.0-50.0 ‫10.0 מגדיר את הזיכרון השמור של המופע לאחוז שצוין כדי להגדיל את כמות המקום שזמין לתקורה של הזיכרון. ההגדרה הזו גם מקטינה את זיכרון המטמון באותו אחוז. למופעים שנוצרו לפני 25 באוקטובר 2021 יש ערך ברירת מחדל של 0. מידע נוסף זמין במאמר בנושא שיטות מומלצות לניהול זיכרון.

אפשרויות מתקדמות נתמכות

פרמטר ערכים קבילים ערך ברירת המחדל תיאור
track_sizes true, false ‫false (מושבת) אם הערך של track-sizes הוא true, המשתמשים יכולים להריץ את הפקודה stats sizes של Memcached. לא מומלץ להפעיל את ההגדרה הזו בסביבות ייצור.
watcher_logbuf_size ‫0-2097151 (קיבי-בייט) 262144 גודל שטח האחסון הזמני לכתיבה לכל צופה פעיל שמחובר. שינוי ההגדרה הזו משנה את גודל שטח האחסון הזמני לרישום ביומן של הפקודה watch. כדי למנוע אובדן של יומנים, צריך להגדיל את watcher_logbuf_size כשהוא מלא.
worker_logbuf_size ‫48-524288 (קיבי-בייט) 65536 ההגדרה הזו קובעת את גודל המאגר של כל עובד פעיל. ה-thread ברקע קורא מהמאגרים האלה.
lru_crawler true, false true (מופעל) ההגדרה lru_crawler מפעילה תהליך ברקע שסורק את ה-slabs ומסיר מהם את הפריטים שהשימוש בהם היה הכי מזמן (lru). התהליך הזה לא צורך הרבה משאבי מעבד או זיכרון. מכיוון שהוא מופעל, התהליך יפעל בזמן ההפעלה עד שתגדירו את lru_crawler ל-false.
idle_timeout ‫0-86400 שניות ‫0 (מושבת) הערך שמוגדר כברירת מחדל הוא 0 (מושבת). ההגדרה הזו קובעת את הזמן בשניות שבו הלקוחות יכולים להיות במצב לא פעיל לפני שחלף הזמן הקצוב לתפוגה והם מתנתקים.
lru_maintainer true, false true (מופעל) מופעל כברירת מחדל. ‫lru_maintainer הוא תהליך שפועל ברקע וקובע מתי הייתה הגישה האחרונה לפריטים, כדי למיין את כל הפריטים בצורה נכונה לפי 'הפריטים שהיו בשימוש לאחרונה' (lru).
maxconns_fast true, false ‫false (מושבת) ההגדרה הזו קובעת איך Memcached מעבד חיבורים חדשים כשמגיעים למספר המקסימלי של לקוחות. כשהערך של maxconns-fast הוא false, חיבורים שחורגים ממגבלת החיבורים המקסימלית מתווספים לתור. אם הערך של maxconns-fast הוא true, חיבורים שחורגים ממגבלת החיבורים המקסימלית נסגרים ומוצגת הודעת שגיאה.
hash_algorithm jenkins, murmur3, xxh3 murmur3 מציין את אלגוריתם הגיבוב שבו נעשה שימוש במופע. אפשר להשתמש בהגדרת xxh3 רק במופעים שבהם מותקנת גרסה 1.6.15 של Memcached ומעלה.

פרמטרים של הגדרות שלא ניתן לשנות

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

פרמטר ערך ברירת המחדל
ניוד (-p) 11211
מגבלת זיכרון (-m) ‫Memorystore מגדיר את הערך הזה כך שיתאים לזיכרון שהוגדר לכל צומת בהגדרת הצומת של המופע. אי אפשר לשנות את ההגדרה הזו, אבל אפשר להוסיף זיכרון שמור באמצעות ההגדרה של זיכרון שמור שמופיעה למעלה.
שרשורים (-t) המערכת של Memorystore מגדירה את הערך הזה כך שיתאים למספר המעבדים לכל צומת של מופע.
conn-limit (-c) ‫65,000 לכל צומת
מפורט (-v) TRUE
slab_automove true (מופעל)
slab_reassign true (מופעל)
enable-largepages (-L) ‫false (מושבת)
נעילת הזיכרון (-k) ‫false (מושבת)
expirezero-does-not-evict לא נתמך. הוצא משימוש ב-Memcached 1.4.35.
slab_chunk_max ‫524288 בייטים
מודרני true (מופעל)

המאמרים הבאים