Batasan pada Azure Database for PostgreSQL - Server Fleksibel
BERLAKU UNTUK: Azure Database for PostgreSQL - Server Fleksibel
Bagian berikut ini menjelaskan kapasitas dan batas fungsional di server fleksibel Azure Database for PostgreSQL. Jika Anda ingin mempelajari tentang tingkat sumber daya (komputasi, memori, penyimpanan), lihat artikel komputasi dan penyimpanan .
Koneksi maksimum
Tabel berikut menunjukkan jumlah koneksi maksimum default untuk setiap tingkat harga dan konfigurasi vCore. Server fleksibel Azure Database for PostgreSQL mencadangkan 15 koneksi untuk replikasi fisik dan pemantauan instans server fleksibel Azure Database for PostgreSQL. Akibatnya, nilai untuk koneksi pengguna maksimum yang tercantum dalam tabel berkurang 15 dari total koneksi maksimum.
Nama produk | vCore | Ukuran memori | Koneksi maksimum | Koneksi pengguna maksimum |
---|---|---|---|---|
Mudah meledak | ||||
B1ms | 1 | 2 GiB | 50 | 35 |
B2s | 2 | 4 GiB | 429 | 414 |
B2ms | 2 | 8 GiB | 859 | 844 |
B4ms | 4 | 16 GiB | 1,718 | 1,703 |
B8ms | 8 | 32 GiB | 3.437 | 3,422 |
B12ms | 12 | 48 GiB | 5\.000 | 4,985 |
B16ms | 16 | 64 GiB | 5\.000 | 4,985 |
B20ms | 20 | 80 GiB | 5\.000 | 4,985 |
Tujuan Umum | ||||
D2s_v3 / D2ds_v4 / D2ds_v5 / D2ads_v5 | 2 | 8 GiB | 859 | 844 |
D4s_v3 / D4ds_v4 / D4ds_v5 / D4ads_v5 | 4 | 16 GiB | 1,718 | 1,703 |
D8s_v3 / D8ds_V4 / D8ds_v5 / D8ads_v5 | 8 | 32 GiB | 3.437 | 3,422 |
D16s_v3 / D16ds_v4 / D16ds_v5 / D16ads_v5 | 16 | 64 GiB | 5\.000 | 4,985 |
D32s_v3 / D32ds_v4 / D32ds_v5 / D32ads_v5 | 32 | 128 GiB | 5\.000 | 4,985 |
D48s_v3 / D48ds_v4 / D48ds_v5 / D48ads_v5 | 48 | 192 GiB | 5\.000 | 4,985 |
D64s_v3 / D64ds_v4 / D64ds_v5 / D64ads_v5 | 64 | 256 GiB | 5\.000 | 4,985 |
D96ds_v5 / D96ads_v5 | 96 | 384 GiB | 5\.000 | 4,985 |
Memori dioptimalkan | ||||
E2s_v3 / E2ds_v4 / E2ds_v5 / E2ads_v5 | 2 | 16 GiB | 1,718 | 1,703 |
E4s_v3 / E4ds_v4 / E4ds_v5 / E4ads_v5 | 4 | 32 GiB | 3.437 | 3,422 |
E8s_v3 / E8ds_v4 / E8ds_v5 / E8ads_v5 | 8 | 64 GiB | 5\.000 | 4,985 |
E16s_v3 / E16ds_v4 / E16ds_v5 / E16ads_v5 | 16 | 128 GiB | 5\.000 | 4,985 |
E20ds_v4 / E20ds_v5 / E20ads_v5 | 20 | 160 GiB | 5\.000 | 4,985 |
E32s_v3 / E32ds_v4 / E32ds_v5 / E32ads_v5 | 32 | 256 GiB | 5\.000 | 4,985 |
E48s_v3 / E48ds_v4 / E48ds_v5 / E48ads_v5 | 48 | 384 GiB | 5\.000 | 4,985 |
E64s_v3 / E64ds_v4 / E64ds_v5 / E64ads_v5 | 64 | 432 GiB | 5\.000 | 4,985 |
E96ds_v5 / E96ads_v5 | 96 | 672 GiB | 5\.000 | 4,985 |
Slot koneksi yang dipesan, saat ini pada 15, dapat berubah. Kami menyarankan untuk memverifikasi total koneksi yang dipesan secara teratur di server. Anda menghitung angka ini dengan menjumlahkan nilai reserved_connections
parameter server dan superuser_reserved_connections
. Jumlah maksimum koneksi pengguna yang tersedia adalah max_connections
- ( + reserved_connections
superuser_reserved_connections
).
Nilai default untuk max_connections
parameter server dihitung saat Anda menyediakan instans server fleksibel Azure Database for PostgreSQL, berdasarkan nama produk yang Anda pilih untuk komputasinya. Setiap perubahan pemilihan produk berikutnya pada komputasi yang mendukung server fleksibel tidak akan berpengaruh pada nilai default untuk parameter server instans tersebut max_connections
. Kami menyarankan agar setiap kali Anda mengubah produk yang ditetapkan ke instans, Anda juga menyesuaikan nilai untuk max_connections
parameter sesuai dengan nilai dalam tabel sebelumnya.
Mengubah nilai max_connections
Saat pertama kali menyiapkan instans server fleksibel Azure Database for Postgres, instans server fleksibel secara otomatis memutuskan jumlah koneksi tertinggi yang dapat ditangani secara bersamaan. Nomor ini didasarkan pada konfigurasi server Anda dan tidak dapat diubah.
Namun, Anda dapat menggunakan max_connections
pengaturan untuk menyesuaikan berapa banyak koneksi yang diizinkan pada waktu tertentu. Setelah mengubah pengaturan ini, Anda perlu memulai ulang server agar batas baru mulai berfungsi.
Perhatian
Meskipun dimungkinkan untuk meningkatkan nilai max_connections
di luar pengaturan default, kami menyarankan untuk melawannya.
Instans mungkin mengalami kesulitan ketika beban kerja meluas dan menuntut lebih banyak memori. Ketika jumlah koneksi meningkat, penggunaan memori juga naik. Instans dengan memori terbatas mungkin menghadapi masalah seperti crash atau latensi tinggi. Meskipun nilai yang lebih tinggi mungkin max_connections
dapat diterima ketika sebagian besar koneksi diam, itu dapat menyebabkan masalah performa yang signifikan setelah aktif.
Jika Anda memerlukan lebih banyak koneksi, kami sarankan Anda menggunakan PgBouncer, solusi Azure bawaan untuk manajemen kumpulan koneksi. Gunakan dalam mode transaksi. Untuk memulai, kami sarankan Anda menggunakan nilai konservatif dengan mengalikan vCore dalam rentang 2 hingga 5. Setelah itu, pantau pemanfaatan sumber daya dan performa aplikasi dengan cermat untuk memastikan kelancaran operasi. Untuk informasi terperinci tentang PgBouncer, lihat PgBouncer di Azure Database for PostgreSQL - Server Fleksibel.
Saat koneksi melebihi batas, Anda mungkin menerima kesalahan berikut:
FATAL: sorry, too many clients already.
Saat Anda menggunakan server fleksibel Azure Database for PostgreSQL untuk database yang sibuk dengan sejumlah besar koneksi bersamaan, mungkin ada ketegangan yang signifikan pada sumber daya. Ketegangan ini dapat mengakibatkan pemanfaatan CPU yang tinggi, terutama ketika banyak koneksi dibuat secara bersamaan dan ketika koneksi memiliki durasi pendek (kurang dari 60 detik). Faktor-faktor ini dapat berdampak negatif pada performa database secara keseluruhan dengan meningkatkan waktu yang dihabiskan untuk memproses koneksi dan pemutusan sambungan.
Ketahuilah bahwa setiap koneksi di server fleksibel Azure Database for PostgreSQL, terlepas dari apakah itu menganggur atau aktif, menggunakan sejumlah besar sumber daya dari database Anda. Konsumsi ini dapat menyebabkan masalah performa di luar pemanfaatan CPU yang tinggi, seperti ketidakcocokan disk dan kunci. Artikel Jumlah Koneksi Database di Wiki PostgreSQL membahas topik ini secara lebih rinci. Untuk mempelajari selengkapnya, lihat Mengidentifikasi dan menyelesaikan performa koneksi di server fleksibel Azure Database for PostgreSQL.
Batasan fungsional
Bagian berikut mencantumkan pertimbangan untuk apa itu dan tidak didukung di server fleksibel Azure Database for PostgreSQL.
Operasi skala
- Saat ini, peningkatan skala penyimpanan server memerlukan mulai ulang server.
- Penyimpanan server hanya dapat diskalakan dalam kenaikan 2x, lihat Penyimpanan untuk detailnya.
- Mengurangi ukuran penyimpanan server saat ini tidak didukung. Satu-satunya cara untuk dilakukan adalah mencadangkan dan memulihkannya ke instans server fleksibel Azure Database for PostgreSQL baru.
Penyimpanan
- Setelah mengonfigurasi ukuran penyimpanan, Anda tidak dapat menguranginya. Anda harus membuat server baru dengan ukuran penyimpanan yang diinginkan, melakukan operasi pencadangan dan pemulihan manual, dan memigrasikan database Anda ke server baru.
- Ketika penggunaan penyimpanan mencapai 95% atau jika kapasitas yang tersedia kurang dari 5 GiB (mana pun yang lebih), server secara otomatis dialihkan ke mode baca-saja untuk menghindari kesalahan yang terkait dengan situasi penuh disk. Dalam kasus yang jarang terjadi, jika tingkat pertumbuhan data melampaui waktu yang diperlukan untuk beralih ke mode baca-saja, server Anda mungkin masih kehabisan penyimpanan. Anda dapat mengaktifkan pertumbuhan otomatis penyimpanan untuk menghindari masalah ini dan secara otomatis menskalakan penyimpanan Anda berdasarkan tuntutan beban kerja Anda.
- Sebaiknya atur aturan pemberitahuan untuk
storage used
ataustorage percent
ketika melebihi ambang batas tertentu sehingga Anda dapat secara proaktif mengambil tindakan seperti meningkatkan ukuran penyimpanan. Misalnya, Anda dapat mengatur pemberitahuan jika persentase penyimpanan melebihi penggunaan 80%. - Jika Anda menggunakan replikasi logis, Anda harus menghilangkan slot replikasi logis di server utama jika pelanggan yang sesuai tidak lagi ada. Jika tidak, file write-ahead logging (WAL) terakumulasi di primer dan mengisi penyimpanan. Jika penyimpanan melebihi ambang tertentu dan jika slot replikasi logis tidak digunakan (karena pelanggan yang tidak tersedia), server fleksibel Azure Database for PostgreSQL secara otomatis menghilangkan slot replikasi logis yang tidak digunakan. Tindakan tersebut merilis akumulasi file WAL dan mencegah server Anda menjadi tidak tersedia karena penyimpanan diisi.
- Kami tidak mendukung pembuatan ruang tabel. Jika Anda membuat database, jangan berikan nama ruang tabel. Server fleksibel Azure Database for PostgreSQL menggunakan server default yang diwarisi dari database templat. Tidak aman untuk menyediakan ruang tabel seperti ruang tabel sementara, karena kami tidak dapat memastikan bahwa objek tersebut akan tetap persisten setelah peristiwa seperti restart server dan failover ketersediaan tinggi (HA).
Jaringan
- Memindahkan masuk dan keluar dari jaringan virtual saat ini tidak didukung.
- Menggabungkan akses publik dengan penyebaran di jaringan virtual saat ini tidak didukung.
- Aturan firewall tidak didukung pada jaringan virtual. Anda dapat menggunakan kelompok keamanan jaringan sebagai gantinya.
- Server database akses publik dapat tersambung ke internet publik; misalnya, melalui
postgres_fdw
. Anda tidak dapat membatasi akses ini. Server di jaringan virtual dapat membatasi akses keluar melalui grup keamanan jaringan.
Ketersediaan tinggi
- Lihat Ketersediaan tinggi di Azure Database for PostgreSQL - Server Fleksibel.
Zona ketersediaan
- Memindahkan server secara manual ke zona ketersediaan yang berbeda saat ini tidak didukung. Namun, dengan menggunakan zona ketersediaan pilihan sebagai zona siaga, Anda dapat mengaktifkan KETERSEDIAAN TINGGI. Setelah Anda membuat zona siaga, Anda dapat melakukan failover ke zona siaga tersebut, lalu menonaktifkan KETERSEDIAAN TINGGI.
Mesin postgres, ekstensi, dan PgBouncer
- Postgres 10 dan versi yang lebih lama tidak didukung, karena komunitas sumber terbuka menghentikannya. Jika Anda harus menggunakan salah satu versi ini, Anda perlu menggunakan opsi server tunggal Azure Database for PostgreSQL, yang mendukung versi utama yang lebih lama 9.5, 9.6, dan 10.
- Server fleksibel Azure Database for PostgreSQL mendukung semua
contrib
ekstensi dan banyak lagi. Untuk informasi selengkapnya, lihat Ekstensi PostgreSQL. - Pengumpul koneksi PgBouncer bawaan saat ini tidak tersedia untuk server Burstable.
Menghentikan/memulai operasi
- Setelah Anda menghentikan instans server fleksibel Azure Database for PostgreSQL, instans server fleksibel secara otomatis dimulai setelah 7 hari.
Pemeliharaan Terjadwal
- Anda dapat mengubah jendela pemeliharaan kustom menjadi hari/waktu dalam seminggu. Namun, setiap perubahan yang Anda buat setelah menerima pemberitahuan pemeliharaan tidak akan berdampak pada pemeliharaan berikutnya. Perubahan hanya berlaku dengan pemeliharaan terjadwal bulanan berikut.
Pencadangan server
Sistem mengelola cadangan. Saat ini tidak ada cara untuk menjalankan pencadangan secara manual. Sebaiknya gunakan
pg_dump
sebagai gantinya.Rekam jepret pertama adalah cadangan penuh, dan rekam jepret berturut-turut adalah cadangan diferensial. Cadangan diferensial hanya mencadangkan data yang diubah sejak pencadangan rekam jepret terakhir.
Misalnya, jika ukuran database Anda adalah 40 GB dan penyimpanan yang disediakan adalah 64 GB, cadangan rekam jepret pertama akan menjadi 40 GB. Sekarang, jika Anda mengubah data 4 GB, ukuran cadangan rekam jepret diferensial berikutnya hanya akan menjadi 4 GB. Log transaksi (log write-ahead) terpisah dari cadangan penuh dan diferensial, dan diarsipkan terus menerus.
Pemulihan server
- Saat Anda menggunakan fitur pemulihan point-in-time (PITR), server baru dibuat dengan konfigurasi komputasi dan penyimpanan yang sama dengan server yang menjadi dasarnya.
- Server database di jaringan virtual dipulihkan ke jaringan virtual yang sama saat Anda memulihkan dari cadangan.
- Server baru yang dibuat selama proses pemulihan tidak memiliki aturan firewall yang ada di server asli. Anda perlu membuat aturan firewall secara terpisah untuk server baru.
- Pemulihan ke langganan lain tidak didukung. Sebagai solusinya, Anda dapat memulihkan server dalam langganan yang sama lalu memigrasikan server yang dipulihkan ke langganan lain.
Keamanan
- Hashing MD5 dinonaktifkan dari Postgres 14 dan versi yang lebih baru dan kata sandi Postgres asli hanya akan di-hash menggunakan metode SCRAM-SHA-256.