שיפור הביצועים של מסד הנתונים באמצעות מטמון דיסק

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

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

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

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

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

הפעלת מטמון דיסק ב-AlloyDB Omni

כדי להפעיל את מטמון הדיסק, אפשר לעיין בקטע הבא:

הפעלת מטמון בדיסק בנפח אחסון מקומי

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

כדי להפעיל מטמון בדיסק בנפח אחסון מקומי עבור מסד הנתונים:

  1. משנים את המניפסט של אשכול מסד הנתונים כדי להוסיף את המאפיין ultraFastCache לקטע features של הקטע spec:

    DBCluster:
      metadata:
        name: CLUSTER_NAME
      spec:
        databaseVersion: "18.3.0"
        primarySpec:
          features:
            ultraFastCache:
              cacheSize: DISK_CACHE_SIZE
              localVolume:
                path: "LOCAL_VOLUME_PATH"
    ...
      

    מחליפים את מה שכתוב בשדות הבאים:

    • CLUSTER_NAME: השם של אשכול מסד הנתונים.
    • DISK_CACHE_SIZE: גודל המטמון, לדוגמה 100Gi. הערך חייב להיות גדול מ-shared_buffers. השדה הזה הוא אופציונלי. אם לא מציינים את הערך של השדה הזה, AlloyDB Omni משתמש בכל המקום שנותר בדיסק.
    • LOCAL_VOLUME_PATH: הנתיב לנפח המקומי, לדוגמה /mnt/disks/raid/0.

  2. מחילים מחדש את המניפסט.

  3. מחילים את השינויים באמצעות הממשק של כלי התזמור המועדף:

    Ansible

    אם אתם מנהלים את התשתית של מתזמן ה-RPM של AlloyDB Omni ישירות באמצעות Ansible, הוא מפעיל עדכונים על ידי הפעלת playbook מתאים והעברת update_action שנבחר כמשתנה נוסף.

    קובץ לדוגמה של update.yml:

    ---
    - hosts: localhost
      vars:
        update_action: "update_resource_spec"
        ansible_user: your_ssh_user
        ansible_ssh_private_key_file: ~/path/to/private-key
      roles:
        - role: google.alloydbomni_orchestrator.update
    

    מריצים את פקודת Ansible:

    ansible-playbook -i DEPLOYMENT_SPECIFICATION update.yml -e resource_spec="DBCLUSTER_SPECIFICATION"

    מחליפים את המשתנים הבאים:

    • DEPLOYMENT_SPECIFICATION: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: הנתיב למפרט האשכול.

    alloydbctl

    alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

    מחליפים את המשתנים הבאים:

    • DEPLOYMENT_SPECIFICATION: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.

    • DBCLUSTER_SPECIFICATION: הנתיב למפרט האשכול.

אימות ההגדרה של מטמון הדיסק

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

בנוסף, אפשר לבדוק אם מטמון הדיסק של AlloyDB Omni פתוח.

כדי לאמת את הגדרת מטמון הדיסק ב-AlloyDB Omni, משתמשים בפקודה הבאה.

cat LOG_FILE_PATH | grep "opened omni disk cache"

מחליפים את הערך של LOG_FILE_PATH בנתיב שאליו מופנים היומנים של AlloyDB Omni.

אם השמירה במטמון של הדיסק מוגדרת בצורה נכונה, ההודעה Successfully opened omni disk cache ... מוצגת ביומנים.

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

* מידע על דיסקים מקומיים מסוג SSD * יצירה והפעלה של מכונת VM