הגדרת ניקוי אוטומטי מותאם

בוחרים גרסה של מאמרי העזרה:

בדף הזה מוסבר איך פועל הניקוי האוטומטי הדינמי ב-AlloyDB Omni ואיך מגדירים אותו.

פעולת Vacuuming היא פעולת תחזוקה חשובה במסד נתונים של PostgreSQL. הוא משמש לפינוי נפח אחסון שתפוס על ידי שורות מעודכנות או שנמחקו, כדי למנוע ניפוח של הטבלה או האינדקס. הוא משמש גם להקפאת מזהי עסקאות כדי למנוע את התופעה של transaction ID wraparound ולעדכון הנתונים הסטטיסטיים של הטבלה.

מידע נוסף על שאיבה זמין במאמר שאיבה שגרתית.

כדי להפוך את תהליך ה-vacuuming והעדכון הקולקטיבי של הנתונים הסטטיסטיים של הטבלה לאוטומטי, AlloyDB Omni תומך ב-autovacuum מותאם. Adaptive autovacuum מאפשרת כוונון אוטומטי של עומס העבודה של ה-vacuum כשעומס העבודה משתנה, מסירה טאפלים מתים ומעדכנת את הנתונים הסטטיסטיים של הטבלה.

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

כברירת מחדל, ב-AlloyDB Omni מופעלת התכונה "פינוי שטח דיסק אוטומטי מותאם". אתם יכולים להשבית או לשנות את ה-autovacuum הדינמי ב-AlloyDB Omni באמצעות דגלים לניהול מסד נתונים.

יתרונות

היתרונות של Adaptive autovacuum:

  • כוונון אוטומטי של משאבים. ‫AlloyDB Omni מבצע כוונון אוטומטי של משאבים כמו מעבד, קלט/פלט, מספר תהליכי ה-Vacuum והזיכרון לתהליך ה-Vacuum, על סמך הסטטוס בזמן אמת של עומס העבודה והמשאבים הזמינים, בלי להשפיע על ביצועי המערכת.

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

  • ניקוי תקופתי של טבלאות. ‫AlloyDB Omni מפעיל את autovacuum על סמך מספר ה-dead tuples והדפים שצריך לסרוק. הוא מסיר רשומות לא פעילות בזמן כדי למנוע ניפוח של טבלאות או אינדקסים.

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

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

הגדרת autovacuum דינמי

כברירת מחדל, התכונה "ניקוי אוטומטי דינמי" מופעלת ב-AlloyDB Omni. כדי להשבית את הפינוי האוטומטי הדינמי, [מגדירים את דגלי ניהול מסד הנתונים של המכונה](/alloydb/omni/linux/18.3.0/docs/configure-database-flags) כך שהערך של enable_google_adaptive_autovacuum יהיה off.

ב-AlloyDB Omni יש תמיכה בכמה דגלים סטנדרטיים של מסדי נתונים ב-PostgreSQL שקשורים ל-vacuum ול-autovacuum, למשל vacuum_cost_delay ו-autovacuum_vacuum_cost_delay. לא צריך להגדיר ערכים באף אחד מהדגלים האלה כדי שהתכונה "פינוי אוטומטי מותאם" תפעל, כי היא מתאימה את ההתנהגות שלה לעומסי העבודה בפועל ומבצעת אופטימיזציה בהתאם. אם תגדירו ערכים בדגלים האלה, התכונה "פינוי אוטומטי מותאם" תתאים את ההתנהגות שלה כדי להביא בחשבון את ההעדפות שלכם.

כדי לראות את הרשימה המלאה של דגלים נתמכים לניהול מסד נתונים של PostgreSQL שקשורים ל-vacuum ול-autovacuum, קראו את המאמרים דגלים של vacuum ודגלים של autovacuum.