Pemberi rekomendasi penggunaan ID transaksi tinggi Cloud SQL secara proaktif menghasilkan rekomendasi yang membantu Anda menghindari potensi wraparound ID transaksi untuk instance PostgreSQL Cloud SQL.
Anda dapat menerapkan rekomendasi ini saat instance Cloud SQL cenderung mengalami masalah wraparound ID transaksi. Halaman ini menjelaskan cara pemberi rekomendasi penggunaan ID transaksi tinggi Cloud SQL bekerja dan cara menggunakannya.
Cara kerjanya
ID transaksi ditetapkan saat transaksi dimulai, dan ID tersebut akan dibekukan hingga transaksi dikosongkan. Pemakaian ID transaksi adalah jumlah transaksi yang tidak di-vacuum (ditetapkan dikurangi dibekukan) yang dinyatakan sebagai pecahan dari nilai maksimum 2 miliar. Pada setelan PostgreSQL default, dengan proses vacuum yang berjalan optimal dan tanpa gangguan, sebagian besar database mengalami pemanfaatan ID transaksi di region sekitar 10%. Tingkat penggunaan ID transaksi yang lebih tinggi dapat diamati di database yang sibuk, karena beban kerja reguler sering kali lebih diutamakan daripada vacuum. Jika kecenderungan penggunaan ID transaksi menuju nilai yang sangat tinggi (80% atau lebih), database mungkin berisiko kehabisan ID transaksi. Pemakaian ID transaksi yang mencapai 100% disebut sebagai wraparound ID transaksi. Setelah persentase penggunaan ID transaksi mencapai 100%, PostgreSQL berhenti menerima penulisan kueri.
Pemberi rekomendasi pemanfaatan ID transaksi tinggi Cloud SQL menganalisis pemanfaatan ID transaksi pada instance PostgreSQL Cloud SQL.
Jika persentase penggunaan ID transaksi lebih dari atau sama dengan 80%, sebaiknya ambil tindakan untuk menghindari wraparound ID transaksi.
Harga
Rekomendasi penggunaan ID transaksi tinggi Cloud SQL berada dalam Tingkat harga pemberi rekomendasi Standar.
Sebelum memulai
Sebelum Anda dapat melihat rekomendasi dan insight, lakukan tindakan berikut:
- Agar mendapatkan izin untuk melihat dan bekerja dengan insight dan rekomendasi,
pastikan Anda memiliki peran yang diperlukan.
Tasks Peran Melihat rekomendasi Salah satu peran berikut: recommender.cloudsqlViewer
ataucloudsql.viewer
.Menerapkan rekomendasi Salah satu dari peran berikut: recommender.cloudsqlAdmin
,cloudsql.editor
, ataucloudsql.admin
. -
Enable the Recommender API.
Daftar rekomendasi Peningkatan Performa Instance
Anda dapat membuat daftar rekomendasi Tingkatkan Performa Instance
menggunakan Google Cloud Console, gcloud CLI
, atau Recommender API.
Rekomendasi performa instance yang meningkat hanya ditampilkan jika Anda memiliki instance yang mendekati batas ID transaksi.
Konsol
Untuk membuat daftar rekomendasi tentang performa instance menggunakan konsol Google Cloud, ikuti langkah-langkah berikut:
Buka halaman Instance Cloud SQL.
Klik Lihat semua di banner rekomendasi Cegah wraparound ID transaksi.
Atau, ikuti langkah berikut:
Buka Hub Rekomendasi. Lihat juga Mulai menggunakan Hub Rekomendasi.
Pada card Peningkatan Performa Instance Cloud SQL, klik Tampilkan semua.
Pilih instance dengan rekomendasi Cegah wraparound ID transaksi.
gcloud CLI
Untuk menampilkan daftar rekomendasi Tingkatkan Performa Instance menggunakan gcloud CLI
, jalankan
perintah gcloud recommender recommendations list
sebagai berikut:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION_BEST_PRACTICE
Ganti kode berikut:
PROJECT_ID
: project ID AndaLOCATION
: Region, sepertius-central1
API
Untuk membuat daftar rekomendasi Tingkatkan Performa Instance menggunakan
Recommendations API, panggil metode recommendations.list
seperti berikut:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.PostgresHighTransactionIdUtilizationBestPractice/recommendations
Ganti kode berikut:
PROJECT_ID
: ID Project Anda.LOCATION
: Region, sepertius-central1
.
Jika pemberi rekomendasi mendeteksi instance dengan penggunaan ID transaksi yang tinggi, pemberi rekomendasi akan mencantumkannya dalam tabel yang berisi rekomendasi performa lainnya. Setiap baris menampilkan ID instance, rekomendasi singkat, mesin database, lokasi, dan tanggal pembaruan terakhir.
Lihat insight dan rekomendasi mendetail
Anda dapat melihat insight dan rekomendasi mendetail tentang instance
yang sedang trending dengan wraparound ID transaksi menggunakan Konsol Google Cloud,
gcloud CLI
, atau Recommender API.
Konsol
Untuk melihat insight dan rekomendasi mendetail tentang instance yang mendekati nilai minimum performa menggunakan Konsol Google Cloud, klik link rekomendasi dalam daftar instance.
gcloud CLI
Untuk melihat insight dan rekomendasi mendetail tentang instance yang mendekati nilai minimum performa menggunakan gcloud CLI
, jalankan perintah
gcloud recommender insights list
seperti berikut:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION
Ganti kode berikut:
PROJECT_ID
: ID Project Anda.LOCATION
: Region, sepertius-central1
.
API
Untuk melihat insight dan rekomendasi mendetail tentang instance yang mendekati nilai minimum performa
menggunakan Recommendations API,
panggil metode insights.list
sebagai berikut:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.PostgresHighTransactionIdUtilization/insights
Ganti kode berikut:
PROJECT_ID
: ID Project Anda.LOCATION
: Region, sepertius-central1
.
Tabel berikut berisi daftar insight dan rekomendasi yang dihasilkan oleh rekomendasi
pemanfaatan ID transaksi tinggi Cloud SQL. Subjenis terlihat di hasil gcloud CLI
dan
API.
Insight | Rekomendasi |
---|---|
Persentase penggunaan ID transaksi pada instance ini tinggi dan mendekati 100%. Subjenis: POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION |
Hindari potensi wraparound ID transaksi untuk instance Cloud SQL. Subjenis: POSTGRES_HIGH_TRANSACTION_ID_UTILIZATION_BEST_PRACTICE
|
Menerapkan rekomendasi
Evaluasi rekomendasi dengan cermat dan lakukan salah satu tindakan berikut:
Untuk memeriksa rekomendasi, klik Lihat instance. Lihat Mengoptimalkan performa instance atau Cegah wraparound ID transaksi dan ikuti rekomendasinya.
Untuk menolak rekomendasi agar tidak ditekankan dan tampak redup, klik Tolak.
Untuk menutup panel tanpa menerapkan atau menolak rekomendasi, klik Batal.
Mengoptimalkan performa instance Anda
Untuk mengatasi masalah akhir wraparound ID transaksi pada instance, lakukan langkah berikut:
Temukan database dan tabel yang menyebabkan penyelesaian wraparound.
Pelajari dan tafsirkan metrik penggunaan ID transaksi di instance database Anda.
Untuk informasi tambahan, lihat juga postingan blog Menggunakan VACUUM untuk mempercepat pembekuan ID transaksi di Cloud SQL untuk PostgreSQL.
Mencegah wraparound ID transaksi
Untuk mencegah akhir wraparound ID transaksi untuk instance, jalankan perintah berikut:
SELECT * FROM google_vacuum_mgmt.pg_fix_wraparound();
Contoh output:
postgres=> select * from google_vacuum_mgmt.pg_fix_wraparound(); -[ RECORD 1 ]-----+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- issue_description | Gemini has detected an open prepared transaction on your instance which is blocking vacuum. Monitor the transaction ID utilization and commit or rollback the transaction, as needed. query | ROLLBACK PREPARED 'trx_id_pin'; or COMMIT PREPARED 'trx_id_pin'; recommendation | To commit a prepared transaction, you must be connected as the same user that originally executed the transaction: postgres insights | Transaction ID Utilization: 88.49%
Langkah selanjutnya
- Memantau ketersediaan disk
- Mengidentifikasi instance Cloud SQL yang tidak ada aktivitas
- Mengurangi instance Cloud SQL yang disediakan berlebih
- Pelajari pemberi rekomendasi Google Cloud