Menyiapkan AlloyDB Omni untuk produksi

Halaman ini menampilkan setelan umum saat menggunakan AlloyDB Omni untuk beban kerja produksi.

Mengaktifkan huge page

AlloyDB Omni, seperti PostgreSQL, mendukung penggunaan huge page. Hal ini mengharuskan mesin Anda mengaktifkan halaman besar, dan Anda juga perlu mengaktifkan setelan database huge_pages.

  1. Jalankan skrip yang disediakan untuk mengaktifkan huge page di komputer Anda:

    Docker

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

    Docker

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

    Podman

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

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
    
  2. Tambahkan baris berikut ke postgresql.conf untuk mengaktifkan huge page:

      huge_pages=on
    

Mengaktifkan pertukaran

Swapping di sistem operasi memungkinkan perluasan memori fisik yang tersedia dengan memindahkan halaman memori yang tidak aktif antara memori akses acak (RAM) dan hard disk untuk mengosongkan ruang RAM bagi proses aktif. AlloyDB Omni menggunakan pertukaran saat mengalami beban tinggi dan memerlukan memori tambahan.

Untuk memeriksa jumlah ruang pertukaran yang diaktifkan di sistem Anda, jalankan perintah berikut:

   cat /proc/meminfo | grep SwapTotal

Outputnya terlihat mirip dengan yang berikut ini:

   SwapTotal:      165748732 kB

Untuk mengaktifkan pertukaran di sistem operasi Anda jika nilai outputnya adalah 0, lihat hal berikut:

Mengaktifkan core dump

Jika AlloyDB Omni mengalami error yang tidak dapat dipulihkan dan error tersebut menyebabkan error, sebaiknya Anda memiliki core dump untuk analisis. Core dump adalah snapshot memori proses AlloyDB Omni pada titik error-nya.

Untuk menyiapkan core dump, siapkan kernel.core_pattern sebagai berikut:

  1. Gunakan perintah sysctl untuk mengonfigurasi parameter kernel run time.
  2. Untuk segera menetapkan kernel.core_pattern, gunakan:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    Ganti CORE_PATTERN dengan pola nama file inti seperti "%e-%t.core".

    Untuk mengetahui informasi selengkapnya tentang pola nama file inti, lihat Cara menetapkan nama file inti proses untuk mengetahui detailnya.

    Pemroses systemd-coredump memungkinkan konfigurasi lebih lanjut setelan coredump Anda. Alat ini diinstal secara default di RHEL. Di sistem Debian dan Ubuntu, jalankan sudo apt install coredumpctl untuk menginstal alat.

    Saat memulai AlloyDB Omni, pastikan Anda meneruskan argumen --ulimit=core:-1:-1 dalam perintah docker run:

    Docker

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

    Docker

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

    Podman

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

    Podman

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

    Ganti kode berikut:

    • CONTAINER_NAME: nama penampung AlloyDB Omni baru—misalnya, my-omni-1.
    • NEW_PASSWORD: sandi yang ditetapkan ke pengguna postgres penampung baru setelah pembuatan sandi.

Mengaktifkan logging internal

AlloyDB Omni menyediakan lebih banyak pesan selain log PostgreSQL reguler. Pesan ini ditujukan untuk dukungan AlloyDB untuk PostgreSQL karena sifatnya yang teknis. Namun, informasi tambahan dapat membantu proses debug masalah database.

Untuk mengaktifkan logging internal, selesaikan langkah-langkah berikut:

  1. Tetapkan parameter database enable_alloydb_internal_log ke on:

      ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    Untuk informasi selengkapnya tentang cara mengubah setelan AlloyDB Omni, lihat Mengonfigurasi parameter database AlloyDB Omni.

  2. Mulai ulang untuk menerapkan perubahan:

    Docker

    docker restart CONTAINER_NAME
    

    Docker

    docker restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

    Podman

    podman restart CONTAINER_NAME
    

Untuk menyesuaikan logging internal seperti mengonfigurasi nama file log dan kebijakan rotasi lebih lanjut, gunakan parameter PostgreSQL.

Misalnya, parameter log_directory menentukan direktori tempat menyimpan file log dan parameter log_filename menentukan nama setiap file log.

AlloyDB Omni menggabungkan parameter log_directory dan log_filename serta menyimpan log internal sebagai berikut:

LOG_DIRECTORY/LOG_FILENAME.internal

Menyiapkan unit systemd untuk menjalankan operasi secara otomatis

Jika menjalankan AlloyDB Omni di server khusus, sebaiknya konfigurasikan operasi tertentu agar dimulai secara otomatis saat server melakukan booting. Salah satu cara untuk melakukannya adalah melalui unit systemd.

Misalnya, langkah-langkah berikut mengonfigurasi systemd sehingga huge page diaktifkan secara otomatis setiap kali server melakukan booting.

  1. Buat file di /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. Aktifkan layanan sebagai berikut:

      sudo systemctl enable alloydb-setup-env.service

Langkah berikutnya