Menyiapkan AlloyDB Omni untuk produksi

Pilih versi dokumentasi:

Halaman ini menunjukkan setelan umum saat menggunakan AlloyDB Omni untuk workload produksi.

Mengaktifkan huge page

AlloyDB Omni, seperti PostgreSQL, mendukung penggunaan halaman besar. 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 mesin 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 Anda untuk mengaktifkan huge page:

      huge_pages=on
    

Mengaktifkan penukaran

Proses 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 berada di bawah beban tinggi dan memerlukan memori tambahan.

Untuk memeriksa seberapa banyak ruang swap 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 berikut:

Mengaktifkan dump inti

Jika AlloyDB Omni mengalami error yang tidak dapat dipulihkan dan mengalami error, akan sangat membantu jika ada core dump untuk dianalisis. Core dump adalah snapshot memori proses AlloyDB Omni pada saat error.

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

  1. Gunakan perintah sysctl untuk mengonfigurasi parameter kernel run time.
  2. Untuk menyetel kernel.core_pattern segera, 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.

    Handler 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 container AlloyDB Omni baru—misalnya, my-omni-1.
    • NEW_PASSWORD: sandi yang ditetapkan untuk 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 mengetahui 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, Anda mungkin ingin mengonfigurasi operasi tertentu agar dimulai secara otomatis saat server di-boot. Salah satu cara untuk melakukannya adalah melalui unit systemd.

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

  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