View a markdown version of this page

Praktik terbaik cluster elastis Amazon DocumentDB - Amazon DocumentDB

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

Praktik terbaik cluster elastis Amazon DocumentDB

Pelajari praktik terbaik untuk bekerja dengan cluster elastis Amazon DocumentDB. Semua praktik terbaik untuk cluster Amazon DocumentDB berbasis instance juga berlaku untuk cluster elastis. Bagian ini terus diperbarui saat praktik terbaik baru diidentifikasi.

Memilih kunci pecahan

Daftar berikut menjelaskan pedoman untuk membuat kunci shard.

  • Gunakan kunci hash yang didistribusikan secara merata untuk mendistribusikan data Anda ke semua pecahan di cluster Anda (hindari tombol pintas).

  • Gunakan kunci shard Anda di semua permintaan read/update /delete untuk menghindari kueri pengumpulan pencar.

  • Hindari kunci pecahan bersarang saat melakukan operasi read/update /delete.

  • Saat membuat operasi batch, atur ordered ke false sehingga semua pecahan dapat berjalan secara paralel dan meningkatkan latensi.

Manajemen koneksi

Daftar berikut menjelaskan pedoman untuk mengelola koneksi ke database Anda.

  • Pantau jumlah koneksi Anda dan seberapa sering koneksi baru dibuka ditutup.

  • Mendistribusikan koneksi Anda di semua subnet dalam konfigurasi aplikasi Anda. Jika cluster Anda dikonfigurasi dalam beberapa subnet tetapi Anda hanya menggunakan subset subnet, Anda mungkin mengalami hambatan pada koneksi maksimum Anda.

Koleksi yang tidak dibagikan

Berikut ini menjelaskan pedoman untuk koleksi yang tidak terpotong.

  • Saat bekerja dengan koleksi yang tidak dibagikan, untuk mendistribusikan beban, coba simpan koleksi yang tidak tersharded yang sangat dimanfaatkan pada database yang berbeda. Cluster elastis Amazon DocumentDB menempatkan database di pecahan yang berbeda dan bersama-sama menempatkan koleksi yang tidak dibagikan untuk database yang sama pada pecahan yang sama.

Penskalaan cluster elastis

Daftar berikut menjelaskan pedoman untuk menskalakan cluster elastis Anda.

  • Operasi penskalaan dapat menyebabkan periode singkat kesalahan database dan jaringan intermiten. Jika memungkinkan, hindari penskalaan selama jam sibuk. Cobalah untuk menskalakan selama jendela pemeliharaan.

  • Penskalaan kapasitas pecahan naik dan turun (mengubah jumlah vCPU per shard) untuk meningkatkan komputasi lebih disukai daripada meningkatkan atau mengurangi jumlah ikan karena lebih cepat dan memiliki durasi kesalahan database dan jaringan intermiten yang lebih pendek.

  • Saat mengantisipasi pertumbuhan, lebih suka meningkatkan jumlah pecahan alih-alih meningkatkan kapasitas pecahan. Ini memungkinkan Anda untuk menskalakan cluster Anda dengan meningkatkan kapasitas pecahan untuk skenario di mana Anda perlu menskalakan dengan cepat.

  • Pantau kebijakan coba ulang sisi klien Anda dan coba lagi dengan backoff dan jitter eksponensial untuk menghindari kelebihan beban database Anda saat mendapatkan kesalahan saat penskalaan.

  • Mengubah jumlah pecahan dapat memakan waktu karena data harus dipindahkan dengan aman dari satu pecahan ke pecahan lainnya. Untuk meminimalkan risiko kesalahan, jangan berhenti atau membuat perubahan lain pada status cluster saat perubahan sedang berlangsung.

Memantau kluster elastis

Daftar berikut menjelaskan pedoman untuk memantau cluster elastis Anda.

  • Lacak rasio puncak-ke-rata-rata metrik per-shard Anda untuk menentukan apakah Anda mengarahkan lalu lintas yang tidak rata (memiliki hot- spot). key/hot Metrik utama untuk melacak rasio puncak-ke-rata-rata adalah:

    • PrimaryInstanceCPUUtilization

      • Ini dapat dipantau pada tingkat per-shard.

      • Pada tingkat cluster Anda dapat memantau kemiringan rata-rata ke p99.

    • PrimaryInstanceFreeableMemory

      • Ini dapat dipantau pada tingkat per-shard.

      • Pada tingkat cluster Anda dapat memantau kemiringan rata-rata ke p99.

    • DatabaseCursorsMax

      • Ini harus dipantau pada tingkat per pecahan untuk menentukan kemiringan.

    • Documents-Inserted/Updated/Returned/Deleted

      • Ini harus dipantau pada tingkat per pecahan untuk menentukan kemiringan.