Server Postgres kehabisan kapasitas disk

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Gejala

Server Postgres yang berisi data Analytics telah kehabisan ruang disk.

Pada contoh berikut, Anda dapat melihat bahwa disk /u01 telah mengisi 90% (176 GB/207 GB) ruang disk.

$df -g

Filesystem Size User Avail Use% Mounted on
/dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01

Pesan error

Anda mungkin tidak melihat pesan error apa pun kecuali ruang disk terisi penuh di Server Postgres.

Kemungkinan penyebab

Tabel berikut mencantumkan kemungkinan penyebab masalah ini:

Penyebab Untuk
Ruang disk tidak memadai Pengguna Edge Private Cloud
Kurangnya pemangkasan data Analytics Pengguna Edge Private Cloud

Kapasitas disk tidak memadai

Diagnosis

Salah satu penyebab umum error ruang disk di Postgres Server adalah Anda tidak memiliki kapasitas disk yang cukup untuk menyimpan data analisis dalam jumlah besar. Langkah-langkah di bawah ini akan membantu Anda menentukan apakah Anda memiliki kapasitas disk yang cukup atau tidak, dan mengambil tindakan yang tepat untuk mengatasi masalah tersebut.

  1. Tentukan tingkat traffic API yang masuk ke Edge dengan melihat Dasbor Performa Proxy Analytics.

    Contoh Performa Proxy yang menunjukkan TPS rata-rata

  2. Pertimbangkan skenario berikut:
    1. Traffic API yang masuk untuk organisasi Anda adalah 22 TPS (transaksi per detik).
      1. Ini berarti traffic API adalah 1.900.800 transaksi per hari (22 * 60 * 60 * 24).
      2. Perhatikan bahwa setiap transaksi/pesan di Analytics berukuran 1,5 ribu byte.
      3. Oleh karena itu, setiap hari menghasilkan 2,7 GB data Analytics (1.900.800 * 1,5 K).
    2. Anda memiliki persyaratan untuk menyimpan data Analytics selama 30 hari di Server Postgres sebagai referensi.
      1. Total data yang dihasilkan selama 30 hari = 81 GB (2,7 GB * 30)
    3. Oleh karena itu, untuk menyimpan data Analytics selama 30 hari dengan kecepatan traffic 22 TPS, Anda harus memiliki ruang disk sebesar 150 GB.
      1. 81 GB (data Analytics) + 50 GB (data lain seperti log, dll.) + 20 GB (ruang buffer tambahan) = 150 GB.
  3. Jika Anda memiliki lebih sedikit kapasitas disk pada sistem, yaitu ruang penyimpanan kurang dari 150 GB (sesuai contoh skenario di atas), Anda tidak memiliki kapasitas disk yang cukup untuk menyimpan data Analytics.

Resolusi

Tambahkan kapasitas disk yang cukup ke komputer Postgres Server.

Kurangnya pemangkasan data Analytics

Diagnosis

Dengan peningkatan traffic API ke Edge, jumlah data analisis yang disimpan dalam database Postgres juga akan meningkat. Jumlah data analisis yang dapat disimpan dalam database Postgres dibatasi oleh jumlah ruang disk yang tersedia di sistem.

Oleh karena itu, Anda tidak dapat terus menyimpan data analisis tambahan di database Postgres tanpa melakukan salah satu tindakan berikut:

  1. Menambahkan lebih banyak kapasitas disk.

    Ini bukan opsi yang skalabel karena kami tidak dapat terus menambahkan lebih banyak kapasitas disk karena terbatas dan mahal.

  2. Memangkas data di luar interval retensi yang diperlukan.

    Ini adalah solusi yang lebih disukai karena Anda dapat memastikan bahwa data yang tidak lagi diperlukan telah dihapus secara berkala.

Jika Anda tidak memangkas data secara berkala secara manual atau dengan menggunakan cron job, jumlah data analisis akan terus meningkat dan pada akhirnya dapat menyebabkan Anda kehabisan ruang disk di sistem.

Resolusi

Untuk memangkas data yang berada di luar interval retensi yang Anda perlukan:

  1. Tentukan interval retensi, yaitu durasi saat Anda ingin mempertahankan data Analytics di Database Postgres.
  2. Jalankan perintah berikut guna memangkas data untuk organisasi dan lingkungan tertentu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
      org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
    

Skrip ini memiliki opsi berikut:

  • Delete-from-parent-fact Default : Tidak. Data yang sudah lebih dari hari retensi juga akan dihapus dari tabel fakta induk.
  • Skip-confirmation-prompt. Default: Tidak. Jika Tidak, skrip akan meminta konfirmasi sebelum menghapus data dari fakta induk. Tetapkan ke Ya jika skrip penghapusan permanen otomatis.

Untuk informasi selengkapnya, lihat Memangkas data Analytics.

Jika masalah berlanjut, hubungi Dukungan Apigee Edge.