הגדרת AlloyDB Omni לסביבת ייצור

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

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

הפעלת דפים גדולים

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

  1. מריצים את הסקריפט שסופק כדי להפעיל דפים גדולים במחשב:

    Docker

      docker run --rm --privileged google/alloydbomni setup-host

    Podman

      podman run --rm --privileged google/alloydbomni setup-host
  2. כדי להפעיל דפים גדולים, מוסיפים את השורה הבאה ל-postgresql.conf:

    huge_pages=on
    

הפעלת החלפה

החלפה במערכת ההפעלה מאפשרת להרחיב את הזיכרון הפיזי הזמין על ידי העברת דפי זיכרון לא פעילים בין זיכרון הגישה האקראית (RAM) לבין הדיסק הקשיח, כדי לפנות מקום בזיכרון ה-RAM לתהליכים פעילים. ‫AlloyDB Omni משתמש בהחלפה כשהעומס עליו גבוה והוא זקוק לזיכרון נוסף.

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

cat /proc/meminfo | grep SwapTotal

הפלט אמור להיראות כך:

SwapTotal:      165748732 kB

כדי להפעיל את ההחלפה במערכת ההפעלה אם ערך הפלט הוא 0, אפשר לעיין במאמרים הבאים:

הפעלת ליבות dump

אם AlloyDB Omni נתקל בשגיאה שלא ניתן לתקן וקורס, כדאי שיהיה לכם קובץ ליבת זיכרון (core dump) לצורך ניתוח. ‫Core dump הוא תמונת מצב של הזיכרון של תהליך AlloyDB Omni בנקודת הקריסה.

כדי להגדיר ליבות (kernel) של BERT, מגדירים את kernel.core_pattern באופן הבא:

  1. משתמשים בפקודה sysctl כדי להגדיר פרמטרים של ליבת זמן הריצה.
  2. כדי להגדיר את kernel.core_pattern באופן מיידי, משתמשים בפקודה: posix-terminal sysctl -w kernel.core_pattern="CORE_PATTERN" מחליפים את CORE_PATTERN בתבנית של שם קובץ ליבה, כמו ‎ "%e-%t.core". מידע נוסף על תבניות של שמות קבצים מרכזיים זמין במאמר איך מגדירים עיבוד של שמות קבצים מרכזיים. ה-handler של systemd-coredump מאפשר להגדיר עוד את הגדרות ה-coredump. הכלי מותקן כברירת מחדל ב-RHEL. במערכות Debian ו-Ubuntu, מריצים את הפקודה sudo apt install coredumpctl כדי להתקין את הכלי. כשמפעילים את AlloyDB Omni, צריך לוודא שמעבירים את הארגומנט --ulimit=core:-1:-1 בפקודה docker run:

Docker

docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni

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

  • CONTAINER_NAME: השם של מאגר חדש של AlloyDB Omni, לדוגמה my-omni-1.
  • <code>NEW_PASSWORD: הסיסמה שמוקצית למשתמש postgres של מאגר התגים החדש אחרי שהוא נוצר.

Podman

 podman run --name CONTAINER_NAME \
 -e POSTGRES_PASSWORD=NEW_PASSWORD \
 --ulimit=core:-1:-1 \
 -p HOST_PORT:5432 -d google/alloydbomni

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

  • CONTAINER_NAME: השם של מאגר חדש של AlloyDB Omni, לדוגמה my-omni-1.
  • <code>NEW_PASSWORD: הסיסמה שמוקצית למשתמש postgres של מאגר התגים החדש אחרי שהוא נוצר.

הגדרת יחידות systemd להפעלת פעולות באופן אוטומטי

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

לדוגמה, השלבים הבאים מגדירים את systemd כך שדפים גדולים יופעלו אוטומטית בכל פעם שהשרת יופעל.

  1. יוצרים קובץ ב-/etc/systemd/system/alloydb-setup-env.service:

    [Unit]
    Description=Setup huge pages for AlloyDB Omni
    
    [Service]
    Type=oneshot
    
    ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host
    
    [Install]
    WantedBy=multi-user.target
       ```
    
  2. כדי להפעיל את השירות:

    sudo systemctl enable alloydb-setup-env.service

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