Kinerja dan penskalaan untuk Amazon Aurora Postgre SQL - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kinerja dan penskalaan untuk Amazon Aurora Postgre SQL

Bagian berikut membahas pengelolaan kinerja dan penskalaan untuk cluster DB Amazon Aurora SQL Postgre. Bagian tersebut juga berisi informasi tentang tugas pemeliharaan lainnya.

Penskalaan instans Aurora Postgre DB SQL

Anda dapat menskalakan instans Aurora Postgre SQL DB dengan dua cara, penskalaan instans dan penskalaan baca. Untuk informasi selengkapnya tentang penskalaan baca, lihat Penskalaan baca.

Anda dapat menskalakan cluster Aurora Postgre SQL DB Anda dengan memodifikasi kelas instans DB untuk setiap instans DB di cluster DB. Aurora Postgre SQL mendukung beberapa kelas instans DB yang dioptimalkan untuk Aurora. Jangan gunakan kelas instans db.t2 atau db.t3 untuk klaster Aurora yang lebih besar dengan ukuran lebih dari 40 terabyte (TB).

catatan

Kami menyarankan penggunaan kelas instans DB T hanya untuk server pengembangan dan pengujian, atau server non-produksi lainnya. Untuk detail selengkapnya tentang kelas instans T, lihat Jenis kelas instans DB.

Penskalaan tidak terjadi secara instan. Diperlukan waktu 15 menit atau lebih untuk menyelesaikan perubahan ke kelas instans DB yang berbeda. Jika Anda menggunakan pendekatan ini untuk mengubah kelas instans DB, Anda perlu menerapkan perubahan selama periode pemeliharaan terjadwal berikutnya (bukan segera) agar tidak memengaruhi pengguna.

Sebagai alternatif untuk mengubah kelas instans DB secara langsung, Anda dapat meminimalkan waktu henti dengan menggunakan fitur ketersediaan tinggi Amazon Aurora. Pertama, tambahkan Replika Aurora ke klaster Anda. Saat membuat replika, pilih ukuran kelas instans DB yang ingin Anda gunakan untuk klaster Anda. Ketika Replika Aurora disinkronkan dengan klaster, maka Anda akan melakukan failover ke Replika yang baru ditambahkan. Untuk mempelajari selengkapnya, lihat Replika Aurora dan Failover cepat dengan Amazon Aurora PostgreSQL.

Untuk spesifikasi rinci kelas instans DB yang didukung oleh Aurora SQL Postgre, lihat. Mesin DB yang didukung untuk kelas instans DB

Koneksi maksimum ke instans Aurora SQL Postgre DB

Cluster Aurora Postgre SQL DB mengalokasikan sumber daya berdasarkan kelas instans DB dan memori yang tersedia. Setiap koneksi ke cluster DB mengkonsumsi jumlah tambahan dari sumber daya ini, seperti memori dan. CPU Memori yang dikonsumsi per koneksi bervariasi berdasarkan jenis kueri, jumlah, dan apakah tabel sementara digunakan. Bahkan koneksi idle menghabiskan memori dan. CPU Hal ini karena ketika kueri dijalankan pada koneksi, lebih banyak memori dialokasikan untuk setiap kueri dan tidak dirilis sepenuhnya, bahkan ketika pemrosesan berhenti. Oleh karena itu, kami menyarankan agar Anda memastikan aplikasi Anda tidak mempertahankan koneksi idle: setiap koneksi idle akan memboroskan sumber daya dan memengaruhi performa secara negatif. Untuk informasi selengkapnya, lihat Sumber daya yang dikonsumsi oleh koneksi SQL Postgre yang tidak aktif.

Jumlah maksimum koneksi yang diizinkan oleh instans Aurora Postgre SQL DB ditentukan oleh nilai max_connections parameter yang ditentukan dalam grup parameter untuk instans DB tersebut. Pengaturan ideal untuk max_connections parameter adalah yang mendukung semua koneksi klien yang dibutuhkan aplikasi Anda, tanpa kelebihan koneksi yang tidak digunakan, ditambah setidaknya 3 koneksi lagi untuk mendukung AWS otomatisasi. Sebelum mengubah pengaturan parameter max_connections, sebaiknya pertimbangkan hal berikut:

  • Jika max_connections nilainya terlalu rendah, instans Aurora Postgre SQL DB mungkin tidak memiliki koneksi yang cukup saat klien mencoba untuk terhubung. Jika hal ini terjadi, coba hubungkan menggunakan pesan "raise error" psql seperti berikut ini:

    psql: FATAL: remaining connection slots are reserved for non-replication superuser connections
  • Jika nilai max_connections melebihi jumlah koneksi yang benar-benar dibutuhkan, koneksi yang tidak terpakai dapat menyebabkan performa menurun.

Nilai default berasal dari max_connections fungsi Aurora SQL LEAST Postgre berikut:

LEAST({DBInstanceClassMemory/9531392},5000).

Jika Anda ingin mengubah nilai max_connections, Anda perlu membuat grup parameter klaster DB kustom dan mengubah nilainya di sana. Setelah menerapkan grup parameter DB kustom Anda ke klaster Anda, pastikan untuk mem-boot ulang instans primer agar nilai baru mulai berlaku. Untuk informasi selengkapnya, silakan lihat Parameter Amazon Aurora PostgreSQL dan Membuat grup parameter cluster DB di Amazon Aurora.

Tip

Jika aplikasi Anda sering membuka dan menutup koneksi, atau membiarkan sejumlah besar koneksi berumur panjang tetap terbuka, kami sarankan Anda menggunakan Amazon RDS Proxy. RDSProxy adalah proxy database yang dikelola sepenuhnya dan sangat tersedia yang menggunakan penyatuan koneksi untuk berbagi koneksi database dengan aman dan efisien. Untuk mempelajari lebih lanjut tentang RDS Proxy, lihatMenggunakan Amazon RDS Proxy untuk Aurora.

Untuk detail tentang caranya Aurora Serverless v2 instance menangani parameter ini, lihatKoneksi maksimum untuk Aurora Serverless v2.

Batas penyimpanan sementara untuk Aurora Postgre SQL

Aurora Postgre SQL menyimpan tabel dan indeks di subsistem penyimpanan Aurora. Aurora Postgre SQL menggunakan penyimpanan sementara terpisah untuk file sementara non-persisten. Hal ini termasuk file yang digunakan untuk tujuan seperti mengurutkan set data besar selama pemrosesan kueri atau untuk operasi pembuatan indeks. Untuk informasi selengkapnya, lihat artikel Bagaimana cara mengatasi masalah penyimpanan lokal di Aurora Postgre -Instance yang kompatibel? SQL .

Volume penyimpanan lokal ini didukung oleh Amazon Elastic Block Store dan dapat diperluas dengan menggunakan kelas instans DB yang lebih besar. Untuk informasi selengkapnya tentang penyimpanan, lihat Penyimpanan Amazon Aurora. Anda juga dapat meningkatkan penyimpanan lokal untuk objek sementara dengan menggunakan jenis instans yang diaktifkan dan objek sementara yang NVMe diaktifkan oleh Aurora Optimized Read. Untuk informasi selengkapnya, lihat Meningkatkan kinerja kueri untuk Aurora Postgre SQL dengan Aurora Optimized Reads.

catatan

Anda mungkin melihat peristiwa storage-optimization saat menskalakan instans DB, misalnya, dari db.r5.2xlarge ke db.r5.4xlarge.

Tabel berikut menunjukkan jumlah maksimum penyimpanan sementara yang tersedia untuk setiap kelas instans Aurora Postgre DBSQL. Untuk informasi selengkapnya tentang dukungan kelas instans DB untuk Aurora, lihat Kelas instans Amazon Aurora DB.

Kelas instans DB Penyimpanan sementara maksimum yang tersedia (GiB)
db.x2g.16xlarge1829
db.x2g.12xlarge1606
db.x2g.8xlarge1071
db.x2g.4xlarge535
db.x2g.2xlarge268
db.x2g.xlarge134
db.x2g.large67
db.r7g.16xlarge 1008
db.r7g.12xlarge 756
db.r7g.8xlarge 504
db.r7g.4xlarge 252
db.r7g.2xlarge 126
db.r7g.xlarge 63
db.r7g.large 32
db.r6g.16xlarge 1008
db.r6g.12xlarge 756
db.r6g.8xlarge 504
db.r6g.4xlarge 252
db.r6g.2xlarge 126
db.r6g.xlarge 63
db.r6g.large 32
db.r6i.32xlarge 1829
db.r6i.24xlarge 1500
db.r6i.16xlarge 1008
db.r6i.12xlarge 748
db.r6i.8xlarge 504
db.r6i.4xlarge 249
db.r6i.2xlarge 124
db.r6i.xlarge 62
db.r6i.large 31
db.r5.24xlarge 1500
db.r5.16xlarge 1008
db.r5.12xlarge 748
db.r5.8xlarge 504
db.r5.4xlarge 249
db.r5.2xlarge 124
db.r5.xlarge 62
db.r5.large 31
db.r4.16xlarge 960
db.r4.8xlarge 480
db.r4.4xlarge 240
db.r4.2xlarge 120
db.r4.xlarge 60
db.r4.large 30
db.t4g.large 16.5
db.t4g.medium 8.13
db.t3.large 16
db.t3.medium 7,5
catatan

NVMejenis instans yang diaktifkan dapat meningkatkan ruang sementara yang tersedia hingga NVMe ukuran total. Untuk informasi selengkapnya, lihat Meningkatkan kinerja kueri untuk Aurora Postgre SQL dengan Aurora Optimized Reads.

Anda dapat memantau penyimpanan sementara yang tersedia untuk instans DB dengan FreeLocalStorage CloudWatch metrik, -> dijelaskan dalam CloudWatch Metrik Amazon untuk Amazon Aurora. (Ini tidak berlaku untuk Aurora Serverless v2.)

Untuk beberapa beban kerja, Anda dapat mengurangi jumlah penyimpanan sementara dengan mengalokasikan lebih banyak memori ke proses yang melakukan operasi. Untuk meningkatkan memori yang tersedia untuk operasi, meningkatkan nilai parameter work_mem atau maintenance_work_mem Postgre. SQL

Halaman besar untuk Aurora Postgre SQL

Halaman besar adalah fitur manajemen memori yang mengurangi overhead saat instans DB menangani potongan besar memori yang berdekatan, seperti yang digunakan oleh buffer bersama. SQLFitur Postgre ini didukung oleh semua versi Aurora Postgre yang tersedia saat ini. SQL

Parameter Huge_pages diaktifkan secara default untuk semua kelas instans DB selain kelas instans t3.medium, db.t3.large, db.t4g.medium, db.t4g.large. Anda tidak dapat mengubah nilai huge_pages parameter atau menonaktifkan fitur ini di kelas instance Aurora Postgre yang didukung. SQL