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

בוחרים גרסת תיעוד:

בדף הזה מוסבר איך להקצות, להגדיר ולהשתמש במטמון הדיסק ב-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.4.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

    אם אתם מנהלים את תשתית התזמור של AlloyDB Omni RPM ישירות באמצעות 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 מקומי * יצירה והפעלה של מכונה וירטואלית