View a markdown version of this page

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 apa pun ke cluster Amazon DocumentDB, cluster juga harus memiliki parameter yang ditetapkan. 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 instans 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 skala hingga kapasitas terkecil saat benar-benar idle, sambil tetap aktif. Namun, tergantung pada cara 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 menskalakan dengan cepat hingga kapasitas yang sangat tinggi, pertimbangkan untuk mengatur kapasitas minimum ke nilai di mana tingkat penskalaan memenuhi persyaratan Anda.

  • Jika Anda biasanya memodifikasi kelas instance instans 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 jenis instans Amazon DocumentDB yang disediakan, lihat. Kuota instans

    Misalnya, Anda menggunakan kelas db.r6g.xlarge instance ketika cluster Anda memiliki beban kerja yang rendah. Kelas instance itu memiliki memori 32 GiB. Dengan demikian, Anda dapat menentukan 16 untuk mengatur 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 instance menurun lebih jauh jika db.r6g.xlarge instance Anda terkadang kurang dimanfaatkan.

  • Jika aplikasi Anda bekerja paling efisien ketika instans memiliki sejumlah data tertentu dalam cache buffer, pertimbangkan untuk menentukan pengaturan DCU minimum di mana memori cukup besar untuk menampung data yang sering diakses. Jika tidak, beberapa data diusir dari cache buffer ketika instans tanpa server diturunkan ke ukuran memori yang lebih rendah. Kemudian ketika instance dinaikkan 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 instans tanpa server DocumentDB berjalan sebagian besar waktu pada kapasitas tertentu, pertimbangkan untuk menentukan setelan kapasitas minimum yang lebih rendah dari baseline, tetapi tidak terlalu rendah. Instans tanpa server dapat secara efektif memperkirakan seberapa banyak dan seberapa cepat penskalaan ketika kapasitas saat ini tidak secara drastis lebih rendah dari kapasitas yang diperlukan.

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

  • Gunakan minimum berikut MinCapacity untuk fitur yang ditentukan (dapat berubah):

    • Wawasan Kinerja - 2 DCU

    • Cluster global — 8 DCU (hanya berlaku untuk primer Wilayah AWS)

  • Di Amazon DocumentDB, replikasi terjadi di lapisan penyimpanan, sehingga kapasitas pembaca tidak secara langsung memengaruhi replikasi. Namun, untuk instans pembaca tanpa server DocumentDB yang berskala secara independen, pastikan kapasitas minimum cukup untuk menangani beban kerja selama periode penulisan intensif untuk menghindari latensi kueri. Jika instance pembaca di tingkat promosi 2—15 mengalami masalah kinerja, pertimbangkan untuk meningkatkan kapasitas minimum cluster. Untuk detail tentang mengubah apakah instance pembaca berskala 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 akan menskalakan bersama dengan instance penulis ketika tingkat promosi pembaca tidak 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. Tetapkan kapasitas minimum ke nilai yang mewakili jumlah memori dan CPU yang sebanding dengan instance penulis.

  • Waktu yang dibutuhkan instans tanpa server DocumentDB untuk menskalakan dari kapasitas minimum ke kapasitas maksimumnya bergantung pada perbedaan antara nilai DCU minimum dan maksimum. Ketika kapasitas instans saat ini besar, DocumentDB tanpa server akan meningkatkan skala dalam peningkatan yang lebih besar daripada saat instance dimulai dari kapasitas kecil. Jadi, jika Anda menentukan kapasitas maksimum yang relatif besar dan instance menghabiskan sebagian besar waktunya di dekat kapasitas itu, pertimbangkan untuk meningkatkan pengaturan DCU minimum. Dengan begitu, instance 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 instance saat ini kecil, maka batasnya juga akan kecil. Jika batasan ini menjadi masalah saat instance tanpa server Anda diturunkan ke nilainya, pertimbangkan untuk meningkatkan MinCapacity ke MinCapacity nilai yang lebih tinggi. Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

  • Selanjutnya, batas instans tertentu dibatasi pada nilai maksimum yang lebih rendah jika MinCapacity disetel ke kurang dari atau sama dengan 1.0 DCU, 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 DCU. Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

Untuk petunjuk tentang cara memodifikasi konfigurasi penskalaan cluster, 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 instance untuk meningkatkan skala paling banyak saat menjalankan beban kerja yang 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 DCU dan harus maksimal 256 DCU.

  • Pantau penskalaan dan penggunaan sumber daya instans tanpa server Anda. Jika instans tanpa server Anda sering melakukan penskalaan ke kapasitas maksimum dan mencapai batasan sumber daya (misalnya, saat DCUUtilization metrik berada di 100,0), pilih nilai yang lebih tinggiMaxCapacity. Untuk informasi selengkapnya, lihat Memantau Amazon DocumentDB tanpa server.

  • Jika Anda biasanya memodifikasi kelas instance 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. Kuota instans

    Misalnya, Anda menggunakan kelas db.r6g.4xlarge instance ketika cluster Anda memiliki beban kerja yang tinggi. Kelas instance itu memiliki memori 128 GiB. 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 agak lebih tinggi untuk membiarkan instance ditingkatkan lebih jauh jika db.r6g.4xlarge instance Anda terkadang tidak memiliki kapasitas yang cukup untuk menangani beban kerja secara efektif.

  • Jika Anda memiliki batas anggaran pada penggunaan database, pilih nilai yang tetap dalam batas itu meskipun semua instans tanpa server Anda berjalan pada kapasitas maksimum sepanjang waktu. Ingatlah bahwa ketika Anda memiliki n instans tanpa server di cluster Anda, kapasitas maksimum tanpa server teoretis yang dapat dikonsumsi cluster setiap saat 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 instans pembaca tanpa server untuk melepaskan sebagian beban kerja read-only dari instance writer, Anda mungkin dapat memilih setelan 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 cluster Anda yang meningkatkan penggunaan memori untuk setiap instance, pertimbangkan memori tersebut saat memutuskan nilai DCU maksimum. Pengaturan tersebut termasuk untuk Performance Insights dan cluster global. Pastikan nilai DCU maksimum memungkinkan instans tanpa server cukup ditingkatkan untuk menangani beban kerja saat fitur tersebut digunakan. Untuk informasi tentang masalah pemecahan masalah yang disebabkan oleh kombinasi pengaturan DCU maksimum rendah dan fitur Amazon DocumentDB yang memaksakan overhead memori, lihat Menghindari kesalahan kehabisan memori (di bawah).

  • Gunakan minimum berikut MaxCapacity untuk fitur yang ditentukan (dapat berubah):

    • Pembuatan instance tanpa server pada cluster dengan volume data besar - 2 DCU (ini termasuk pembuatan instance tanpa server sebagai bagian dari pemulihan cluster.)

  • 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 batas instans ini agar tidak terhambat oleh salah satu batas ini. Untuk informasi selengkapnya, lihat Batas instans tanpa server Amazon DocumentDB.

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

Menghindari kesalahan kehabisan memori

Jika salah satu instans tanpa server DocumentDB 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, lihatMemantau status instans Amazon DocumentDB.

Biasanya, instans Anda masuk ke status ini ketika sering restart karena kesalahan kehabisan memori. Amazon DocumentDB merekam peristiwa saat 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 dapat 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 terlalu sering mencapai kapasitas maksimumnya, 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 (DCU) minimum 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. Melakukannya mengevaluasi apakah Amazon DocumentDB dapat mengatur ulang status kembali ke status yang tersedia.

  • Tingkatkan batas atas kapasitas untuk 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. Melakukannya mengevaluasi apakah Amazon DocumentDB dapat mengatur ulang status kembali ke status yang tersedia.

  • Nonaktifkan pengaturan konfigurasi yang memerlukan overhead memori. Misalnya, Anda mengaktifkan fitur seperti Performance Insights 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 read-only di lebih banyak instans.

Mengapa instance tanpa server saya tidak diperkecil?

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

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

  • Jika instance pembaca tidak diturunkan ke minimum dan tetap pada kapasitas yang sama atau lebih tinggi daripada instance penulis, periksa tingkat prioritas instance pembaca. Instans 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.

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

Jika database masih tidak diturunkan ke kapasitas minimum yang dikonfigurasi, hentikan dan mulai ulang database untuk merebut kembali fragmen memori yang mungkin telah terbentuk dari waktu ke waktu.

catatan

Menghentikan dan memulai database mengakibatkan downtime. Lakukan ini hanya bila perlu.