Konfigurasi penskalaan tanpa server Amazon DocumentDB - Amazon DocumentDB

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

Konfigurasi penskalaan tanpa server Amazon DocumentDB

Memilih rentang kapasitas penskalaan untuk cluster tanpa server DocumentDB

Sebelum menambahkan instance tanpa server DocumentDB ke cluster Amazon DocumentDB, cluster juga harus memiliki set parameter. ServerlessV2ScalingConfiguration

ServerlessV2ScalingConfigurationParameter terdiri dari dua nilai yang menentukan rentang kapasitas penskalaan tanpa server dari setiap instance tanpa server di cluster:

  • MinCapacity- Kapasitas penskalaan minimum dari setiap instance tanpa server DocumentDB di cluster.

  • MaxCapacity- Kapasitas penskalaan maksimum dari setiap instance tanpa server DocumentDB di cluster.

Memilih MinCapacity pengaturan untuk cluster tanpa server DocumentDB

Sangat menggoda untuk selalu memilih 0,5 untukMinCapacity. Nilai itu memungkinkan instance untuk menurunkan kapasitas terkecil saat benar-benar menganggur, sambil tetap aktif. Namun, tergantung pada bagaimana Anda menggunakan cluster itu dan pengaturan lain yang Anda konfigurasikan, kapasitas minimum yang berbeda mungkin yang paling efektif. Pertimbangkan faktor-faktor berikut saat memilih pengaturan kapasitas minimum:

  • Tingkat penskalaan untuk instance tanpa server DocumentDB bergantung pada kapasitasnya saat ini. Semakin tinggi kapasitas saat ini, semakin cepat instans DB dapat dinaikkan skalanya. Jika Anda memerlukan instans untuk dengan cepat meningkatkan kapasitas yang sangat tinggi, pertimbangkan untuk mengatur kapasitas minimum ke nilai di mana tingkat penskalaan memenuhi kebutuhan Anda.

  • Jika Anda biasanya memodifikasi kelas instans instans Anda untuk mengantisipasi beban kerja yang sangat tinggi atau rendah, Anda dapat menggunakan pengalaman itu untuk membuat perkiraan kasar rentang kapasitas tanpa server DocumentDB yang setara. Untuk menentukan ukuran memori dari jenis instans Amazon DocumentDB yang disediakan, lihat. Batas instans

    Misalnya, anggaplah Anda menggunakan kelas db.r6g.xlarge instance ketika cluster Anda memiliki beban kerja yang rendah. Kelas instance itu memiliki 32 GiB memori. Dengan demikian, Anda dapat menentukan 16 untuk menyiapkan instance tanpa server yang dapat menurunkan skala hingga kira-kira kapasitas yang sama. MinCapacity Itu karena setiap DCU sesuai dengan sekitar 2 GiB memori. Anda dapat menentukan nilai yang agak lebih rendah untuk membiarkan skala instance lebih rendah jika db.r6g.xlarge instance Anda terkadang kurang dimanfaatkan.

  • Jika aplikasi Anda bekerja paling efisien ketika instance memiliki sejumlah data dalam cache buffer, pertimbangkan untuk menentukan pengaturan DCU minimum di mana memori cukup besar untuk menampung data yang sering diakses. Jika tidak, beberapa data dikeluarkan dari cache buffer saat instance tanpa server diturunkan ke ukuran memori yang lebih rendah. Kemudian ketika instance diskalakan kembali, informasi dibaca kembali ke cache buffer dari waktu ke waktu. Jika jumlah I/O untuk membawa data kembali ke cache buffer cukup besar, mungkin lebih efektif untuk memilih nilai DCU minimum yang lebih tinggi. Untuk informasi selengkapnya, lihat Ukuran instans.

  • Jika instance tanpa server DocumentDB Anda berjalan sebagian besar waktu pada kapasitas tertentu, pertimbangkan untuk menentukan pengaturan kapasitas minimum yang lebih rendah dari baseline tersebut, tetapi tidak terlalu rendah. Instans tanpa server dapat memperkirakan secara efektif berapa banyak dan seberapa cepat untuk ditingkatkan ketika kapasitas saat ini tidak jauh lebih rendah dari kapasitas yang dibutuhkan.

  • Jika beban kerja Anda yang disediakan memiliki persyaratan memori yang terlalu tinggi untuk kelas instans kecil seperti T3 atau T4G, pilih pengaturan DCU minimum yang menyediakan memori yang sebanding dengan instans R5 atau R6g.

  • Secara khusus, kami merekomendasikan minimum berikut MinCapacity untuk digunakan dengan fitur yang ditentukan (rekomendasi ini dapat berubah):

    • Performance Insights - 2 DCUs

  • Di Amazon DocumentDB, replikasi terjadi pada lapisan penyimpanan, sehingga kapasitas pembaca tidak secara langsung memengaruhi replikasi. Namun, untuk instance pembaca tanpa server DocumentDB yang menskalakan secara independen, pastikan kapasitas minimum cukup untuk menangani beban kerja selama periode intensif penulisan untuk menghindari latensi kueri. Jika instance pembaca dalam tingkatan promosi 2—15 mengalami masalah kinerja, pertimbangkan untuk meningkatkan kapasitas minimum klaster. Untuk detail tentang perubahan apakah skala instance pembaca bersama dengan penulis atau secara independen, lihatMelihat dan memodifikasi tingkat promosi pembaca tanpa server.

    Jika Anda memiliki cluster dengan instance pembaca tanpa server DocumentDB, pembaca tidak menskalakan bersama dengan instance penulis ketika tingkat promosi pembaca bukan 0 atau 1. Dalam hal ini, pengaturan kapasitas minimum yang rendah dapat mengakibatkan lag replikasi yang berlebihan. Hal ini karena pembaca mungkin tidak memiliki kapasitas yang cukup untuk menerapkan perubahan dari penulis ketika basis data sibuk. Kami menyarankan Anda mengatur kapasitas minimum ke nilai yang mewakili jumlah memori dan CPU yang sebanding dengan instance penulis.

  • Waktu yang dibutuhkan untuk instance tanpa server DocumentDB untuk menskalakan dari kapasitas minimumnya ke kapasitas maksimumnya tergantung pada perbedaan antara nilai DCU minimum dan maksimumnya. Ketika kapasitas instans saat ini besar, DocumentDB tanpa server meningkat dalam peningkatan yang lebih besar daripada saat instance dimulai dari kapasitas kecil. Jadi, jika Anda menentukan kapasitas maksimum yang relatif besar dan instans menghabiskan sebagian besar waktunya di dekat kapasitas itu, pertimbangkan untuk meningkatkan pengaturan DCU minimum. Dengan begitu, instans idle dapat menskalakan kembali ke kapasitas maksimum dengan lebih cepat.

  • Batas instans tertentu ditentukan oleh kapasitas instans tanpa server saat ini, seperti batas koneksi, batas kursor, dan batas transaksi terbuka. Jika kapasitas instans saat ini kecil, maka batasnya juga akan kecil. Jika batasan ini menjadi masalah saat instance tanpa server Anda diperkecil ke MinCapacity nilainya, pertimbangkan untuk meningkatkan MinCapacity ke nilai yang lebih tinggi. Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

  • Selanjutnya, batas instance tertentu dibatasi pada nilai maksimum yang lebih rendah jika MinCapacity disetel ke kurang dari atau sama dengan 1,0 DCUs, seperti batas koneksi aktif, batas kursor, dan batas transaksi terbuka. Jika batas yang dibatasi ini tidak mencukupi untuk beban kerja Anda, gunakan MinCapacity nilai minimal 1,5. DCUs Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

Untuk petunjuk tentang cara memodifikasi konfigurasi penskalaan klaster, lihatMengelola Amazon DocumentDB tanpa server.

Memilih MaxCapacity pengaturan untuk cluster tanpa server DocumentDB

Sangat menggoda untuk selalu memilih beberapa nilai tinggi untuk pengaturan kapasitas tanpa server DocumentDB maksimum. Kapasitas maksimum yang besar memungkinkan instans untuk meningkatkan skala paling banyak saat menjalankan beban kerja intensif. Nilai rendah menghindari kemungkinan biaya tak terduga. Bergantung pada cara Anda menggunakan klaster tersebut dan pengaturan lain yang Anda konfigurasikan, nilai yang paling efektif mungkin lebih tinggi atau lebih rendah dari yang Anda kira. Pertimbangkan faktor-faktor berikut saat memilih pengaturan kapasitas maksimum:

  • Kapasitas maksimum harus minimal setinggi kapasitas minimum. Anda dapat mengatur kapasitas minimum dan maksimum agar identik. Namun, dalam hal ini kapasitas tidak pernah naik atau turun. Dengan demikian, menggunakan nilai yang identik untuk kapasitas minimum dan maksimum tidak tepat untuk situasi di luar pengujian.

  • Kapasitas maksimum harus minimal 1,0 DCUs dan harus paling banyak 256 DCUs.

  • Sebaiknya Anda memantau penskalaan dan penggunaan sumber daya instans tanpa server Anda. Jika instans tanpa server Anda sering menskalakan ke kapasitas maksimum dan mencapai batasan sumber daya (misalnya saat DCUUtilization metrik berada di 100,0), sebaiknya pilih nilai yang lebih tinggi. MaxCapacity Untuk informasi selengkapnya, lihat Pemantauan Amazon DocumentDB tanpa server.

  • Jika Anda biasanya memodifikasi kelas instans dari instans yang disediakan untuk mengantisipasi beban kerja yang sangat tinggi atau rendah, Anda dapat menggunakan pengalaman tersebut untuk memperkirakan rentang kapasitas tanpa server DocumentDB yang setara. Untuk menentukan ukuran memori instans Amazon DocumentDB yang disediakan, lihat. Batas instans

    Misalnya, anggaplah Anda menggunakan kelas db.r6g.4xlarge instance ketika cluster Anda memiliki beban kerja yang tinggi. Kelas instance itu memiliki 128 GiB memori. Dengan demikian, Anda dapat menentukan pengaturan DCU maksimum 64 untuk menyiapkan instance tanpa server yang dapat menskalakan hingga kira-kira kapasitas yang sama. Itu karena setiap DCU sesuai dengan sekitar 2 GiB memori. Anda dapat menentukan nilai yang sedikit lebih tinggi untuk membiarkan instance meningkat lebih jauh jika db.r6g.4xlarge instans Anda terkadang tidak memiliki kapasitas yang cukup untuk menangani beban kerja secara efektif.

  • Jika Anda memiliki batasan anggaran pada penggunaan database Anda, pilih nilai yang tetap dalam batas itu meskipun semua instance tanpa server Anda berjalan pada kapasitas maksimum sepanjang waktu. Ingatlah bahwa ketika Anda memiliki n instance tanpa server di cluster Anda, kapasitas tanpa server maksimum teoritis yang dapat dikonsumsi klaster kapan saja adalah n kali pengaturan DCU maksimum untuk cluster. (Jumlah sebenarnya yang dikonsumsi mungkin lebih sedikit, misalnya jika beberapa pembaca diskalakan secara terpisah dari penulis.)

  • Jika Anda menggunakan instance pembaca tanpa server untuk menurunkan beberapa beban kerja hanya-baca dari instance penulis, Anda mungkin dapat memilih pengaturan kapasitas maksimum yang lebih rendah. Anda melakukan ini untuk mencerminkan bahwa setiap instance pembaca tidak perlu menskalakan setinggi jika cluster hanya berisi satu instance.

  • Misalkan Anda ingin mencegah penggunaan yang berlebihan karena parameter basis data yang salah dikonfigurasi atau kueri yang tidak efisien dalam aplikasi Anda. Dalam hal ini, Anda dapat menghindari penggunaan berlebihan yang tidak disengaja dengan memilih pengaturan kapasitas maksimum yang lebih rendah dari pengaturan tertinggi absolut yang dapat Anda tetapkan.

  • Jika lonjakan karena aktivitas pengguna sebenarnya jarang tetapi dapat terjadi, Anda dapat mempertimbangkan situasi tersebut saat memilih pengaturan kapasitas maksimum. Jika prioritasnya adalah agar aplikasi tetap berjalan dengan performa dan skalabilitas penuh, Anda dapat menentukan pengaturan kapasitas maksimum yang lebih tinggi daripada yang Anda amati dalam penggunaan normal. Jika Anda tidak memiliki masalah dengan aplikasi yang berjalan dengan throughput yang berkurang selama lonjakan aktivitas yang sangat ekstrem, Anda dapat memilih pengaturan kapasitas maksimum yang sedikit lebih rendah. Pastikan Anda memilih pengaturan yang masih memiliki cukup memori dan sumber daya CPU untuk menjaga aplikasi tetap berjalan.

  • Jika Anda mengaktifkan pengaturan di klaster yang meningkatkan penggunaan memori untuk setiap instance, pertimbangkan memori tersebut saat memutuskan nilai DCU maksimum. Pengaturan tersebut mencakup pengaturan untuk Performance Insights. Pastikan bahwa nilai DCU maksimum memungkinkan instans tanpa server untuk meningkatkan skala cukup untuk menangani beban kerja saat fitur tersebut digunakan. Untuk informasi tentang pemecahan masalah yang disebabkan oleh kombinasi setelan DCU maksimum rendah dan fitur Amazon DocumentDB yang memaksakan overhead memori, lihat (di bawah). Menghindari out-of-memory kesalahan

  • Secara khusus, kami merekomendasikan minimum berikut MaxCapacity untuk digunakan dengan fitur yang ditentukan (rekomendasi ini dapat berubah):

    • Pembuatan instans tanpa server pada klaster dengan volume data yang besar — 2 DCUs (ini termasuk pembuatan instance tanpa server sebagai bagian dari pemulihan klaster.)

  • Batas instans tertentu ditentukan oleh kapasitas instans saat ini, seperti batas koneksi, batas kursor, dan batas transaksi terbuka. Saat memilih MaxCapacity nilai untuk beban kerja Anda, pastikan untuk mengingat batasan instance ini agar tidak terhambat oleh salah satu batasan ini. Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

Untuk petunjuk tentang cara memodifikasi konfigurasi penskalaan klaster, lihatMengelola Amazon DocumentDB tanpa server.

Menghindari out-of-memory kesalahan

Jika salah satu instance tanpa server DocumentDB Anda secara konsisten mencapai batas kapasitas maksimumnya, Amazon DocumentDB menunjukkan kondisi ini dengan menyetel instance ke status parameter yang tidak kompatibel. Sementara instance memiliki status parameter yang tidak kompatibel, beberapa operasi diblokir. Misalnya, Anda tidak dapat meningkatkan versi mesin. Untuk informasi selengkapnya tentang status instans Amazon DocumentDB, lihat Memantau status instans Amazon DocumentDB.

Biasanya, instance Anda masuk ke status ini ketika sering restart karena out-of-memory kesalahan. Amazon DocumentDB merekam peristiwa ketika jenis restart ini terjadi. Untuk melihat peristiwa sumber daya, lihatMelihat acara Amazon DocumentDB. Penggunaan memori yang luar biasa tinggi dapat terjadi karena overhead dari mengaktifkan pengaturan seperti Performance Insights. Ini juga bisa berasal dari beban kerja yang berat pada instance Anda atau dari mengelola metadata yang terkait dengan sejumlah besar objek skema.

Jika tekanan memori menjadi lebih rendah sehingga instans tidak mencapai kapasitas maksimumnya sangat sering, Amazon DocumentDB secara otomatis mengubah status instans kembali ke tersedia.

Untuk pulih dari kondisi ini, Anda dapat mengambil beberapa atau semua tindakan berikut:

  • Tingkatkan batas bawah kapasitas untuk instans tanpa server dengan mengubah nilai unit kapasitas DocumentDB minimum (DCU) untuk cluster. Tindakan ini menghindari masalah saat basis data idle menurunkan skalanya ke kapasitas dengan memori lebih sedikit daripada yang dibutuhkan untuk fitur yang diaktifkan di klaster Anda. Setelah mengubah pengaturan DCU untuk cluster, reboot instance tanpa server. Melakukan hal itu mengevaluasi apakah Amazon DocumentDB dapat mengatur ulang status kembali ke tersedia.

  • Tingkatkan batas atas kapasitas instans tanpa server dengan mengubah nilai DCU maksimum untuk cluster. Tindakan ini menghindari masalah saat basis data yang sibuk tidak dapat menaikkan skalanya ke kapasitas dengan memori yang cukup untuk fitur yang diaktifkan di klaster Anda dan beban kerja basis data. Setelah mengubah pengaturan DCU untuk cluster, reboot instance tanpa server. Melakukan hal itu mengevaluasi apakah Amazon DocumentDB dapat mengatur ulang status kembali ke tersedia.

  • Nonaktifkan pengaturan konfigurasi yang memerlukan overhead memori. Misalnya, Anda memiliki fitur seperti Performance Insights yang diaktifkan tetapi tidak menggunakannya. Jika demikian, Anda bisa mematikannya. Atau Anda dapat menyesuaikan nilai kapasitas minimum dan maksimum untuk cluster yang lebih tinggi untuk memperhitungkan memori yang digunakan oleh jenis fitur tersebut. Untuk panduan tentang memilih pengaturan kapasitas minimum dan maksimum, lihat Memilih rentang kapasitas penskalaan untuk cluster tanpa server DocumentDB.

  • Kurangi beban kerja pada instance. Misalnya, Anda dapat menambahkan instance pembaca ke cluster untuk menyebarkan beban dari kueri hanya-baca di lebih banyak instance.

Mengapa instance tanpa server saya tidak diperkecil?

Dalam beberapa kasus, DocumentDB tanpa server tidak mengurangi kapasitas minimum, bahkan tanpa beban pada database. Hal ini dapat terjadi karena alasan berikut:

  • Performance Insights dapat meningkatkan penggunaan sumber daya dan mencegah database mengurangi kapasitas minimum. Fitur-fitur ini mencakup hal-hal berikut:

  • Jika instance pembaca tidak mengurangi ke minimum dan tetap pada kapasitas yang sama atau lebih tinggi dari instance penulis, maka periksa tingkat prioritas instance pembaca. Instance pembaca tanpa server DocumentDB di tingkat 0 atau 1 disimpan pada kapasitas minimum setidaknya setinggi instance penulis. Ubah tingkat prioritas pembaca menjadi 2 atau lebih tinggi agar dinaikkan dan diturunkan skalanya secara independen dari penulis. Untuk informasi selengkapnya, lihat Penskalaan tanpa server Amazon DocumentDB.

  • Beban kerja basis data yang berat dapat meningkatkan penggunaan sumber daya.

  • Volume basis data yang besar dapat meningkatkan penggunaan sumber daya. Amazon DocumentDB menggunakan memori dan sumber daya CPU untuk manajemen cluster. Amazon DocumentDB membutuhkan lebih banyak CPU dan memori untuk mengelola cluster dengan volume database yang lebih besar. Jika kapasitas minimum klaster Anda kurang dari minimum yang diperlukan untuk pengelolaan klaster, klaster Anda tidak akan menurunkan kapasitas minimum.

  • Kegiatan pemeliharaan latar belakang dapat secara berkala meningkatkan penggunaan sumber daya.

Jika basis data masih tidak menurunkan skalanya ke kapasitas minimum yang dikonfigurasi, hentikan dan aktifkan ulang basis data untuk mengklaim kembali fragmen memori yang mungkin telah terakumulasi dari waktu ke waktu. Menghentikan dan memulai basis data akan menghasilkan waktu henti, jadi sebaiknya lakukan ini seperlunya.