Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Evaluasi kapasitas yang disediakan untuk penyediaan ukuran yang tepat
Bagian ini memberikan gambaran umum tentang cara mengevaluasi apakah Anda memiliki ukuran penyediaan yang tepat pada tabel DynamoDB Anda. Seiring berkembangnya beban kerja Anda, Anda harus memodifikasi prosedur operasional dengan tepat, terutama ketika tabel DynamoDB Anda dikonfigurasi dalam mode yang disediakan dan Anda memiliki risiko untuk menyediakan tabel secara berlebihan atau kurang.
Prosedur yang dijelaskan di bawah memerlukan informasi statistik yang harus diambil dari tabel DynamoDB yang mendukung aplikasi produksi Anda. Untuk memahami perilaku aplikasi Anda, Anda harus menentukan periode waktu yang cukup signifikan untuk mengambil data musiman dari aplikasi Anda. Misalnya, jika aplikasi Anda menunjukkan pola mingguan, menggunakan periode tiga minggu akan memberi Anda cukup ruang untuk menganalisis kebutuhan throughput aplikasi.
Jika Anda tidak tahu harus mulai dari mana, gunakan penggunaan data setidaknya selama satu bulan untuk penghitungan di bawah ini.
Saat mengevaluasi kapasitas, tabel DynamoDB dapat mengonfigurasi Unit Kapasitas Baca (RCU) dan Unit Kapasitas Tulis (WCU) secara terpisah. Jika tabel Anda memiliki Indeks Sekunder Global (GSI) yang dikonfigurasi, Anda perlu menentukan throughput yang akan digunakannya, yang juga tidak bergantung pada RCU dan WCU dari tabel dasar.
catatan
Indeks Sekunder Lokal (LSI) menggunakan kapasitas dari tabel dasar.
Topik
Cara mengambil metrik penggunaan pada tabel DynamoDB Anda
Untuk mengevaluasi tabel dan kapasitas GSI, pantau CloudWatch metrik berikut dan pilih dimensi yang sesuai untuk mengambil informasi tabel atau GSI:
Unit Kapasitas Baca | Unit Kapasitas Tulis |
---|---|
|
|
|
|
|
|
Anda dapat melakukan ini baik melalui AWS CLI atau AWS Management Console.
Cara mengidentifikasi tabel DynamoDB yang kurang tersedia
Untuk sebagian besar beban kerja, tabel dianggap kurang tersedia jika terus-menerus menggunakan lebih dari 80% kapasitas yang disediakan.
Kapasitas lonjakan adalah fitur DynamoDB yang memungkinkan pelanggan menggunakan lebih banyak RCU/WCU daripada yang disediakan sebelumnya (lebih dari throughput yang disediakan per detik yang ditentukan dalam tabel) untuk sementara waktu. Kapasitas lonjakan diciptakan untuk menyerap peningkatan lalu lintas tiba-tiba karena peristiwa khusus atau lonjakan penggunaan. Kapasitas lonjakan ini tidak bertahan selamanya. Segera setelah RCU dan WCU yang tidak terpakai habis, Anda akan mengalami throttling jika mencoba menggunakan lebih banyak kapasitas daripada yang disediakan. Ketika lalu lintas aplikasi Anda mendekati tingkat penggunaan 80%, risiko throttling Anda jauh lebih tinggi.
Aturan tingkat penggunaan 80% bervariasi berdasarkan musim data dan pertumbuhan lalu lintas Anda. Pertimbangkan skenario berikut:
-
Jika lalu lintas Anda stabil pada tingkat penggunaan ~90% selama 12 bulan terakhir, tabel Anda memiliki kapasitas yang tepat
-
Jika lalu lintas aplikasi Anda tumbuh sebesar 8% setiap bulan dalam waktu kurang dari 3 bulan, Anda akan mencapai 100%
-
Jika lalu lintas aplikasi Anda tumbuh sebesar 5% dalam waktu lebih dari 4 bulan, Anda masih akan mencapai 100%
Hasil dari kueri di atas memberikan gambaran tingkat penggunaan Anda. Gunakan hasil tersebut sebagai panduan untuk mengevaluasi lebih lanjut metrik lain yang dapat membantu Anda meningkatkan kapasitas tabel sesuai kebutuhan (misalnya: tingkat pertumbuhan bulanan atau mingguan). Bekerjalah dengan tim operasi Anda untuk menentukan persentase yang baik untuk beban kerja dan tabel Anda.
Ada skenario khusus, datanya miring ketika dianalisis setiap hari atau setiap minggu. Misalnya, dengan aplikasi musiman yang memiliki lonjakan penggunaan selama jam kerja (tetapi kemudian turun menjadi hampir nol di luar jam kerja), Anda bisa mendapatkan keuntungan dengan menjadwalkan penskalaan otomatis di mana Anda menentukan jam dalam sehari (dan hari dalam seminggu) untuk meningkatkan kapasitas yang disediakan dan kapan harus menguranginya. Alih-alih bertujuan untuk kapasitas yang lebih tinggi sehingga Anda dapat menutupi jam sibuk, Anda juga dapat memanfaatkan konfigurasi penskalaan otomatis tabel DynamoDB jika musim Anda kurang terasa.
catatan
Saat membuat konfigurasi penskalaan otomatis DynamoDB untuk tabel dasar Anda, jangan lupa menyertakan konfigurasi lain untuk GSI yang terkait dengan tabel tersebut.
Cara mengidentifikasi tabel DynamoDB yang disediakan secara berlebihan
Hasil kueri yang diperoleh dari skrip di atas memberikan titik data yang diperlukan untuk melakukan beberapa analisis awal. Jika set data Anda menyajikan nilai penggunaan yang lebih rendah dari 20% untuk beberapa interval, tabel Anda mungkin disediakan secara berlebihan. Untuk menentukan lebih lanjut apakah Anda perlu mengurangi jumlah WCU dan RCU, Anda harus meninjau kembali pembacaan lain dalam interval tersebut.
Ketika tabel Anda berisi beberapa interval penggunaan rendah, Anda benar-benar dapat mengambil manfaat dari menggunakan kebijakan penskalaan otomatis, baik dengan menjadwalkan penskalaan otomatis atau hanya mengonfigurasi kebijakan penskalaan otomatis default untuk tabel yang didasarkan pada pemanfaatan.
Jika Anda memiliki beban kerja dengan pemanfaatan rendah terhadap rasio throttle tinggi (Max (ThrottleEvents) /Min () dalam intervalThrottleEvents), ini bisa terjadi ketika Anda memiliki beban kerja yang sangat runcing di mana lalu lintas meningkat banyak selama beberapa hari (atau jam), tetapi secara umum lalu lintas secara konsisten rendah. Dalam skenario ini, mungkin bermanfaat untuk menggunakan penskalaan otomatis terjadwal.