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 di tabel DynamoDB
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 mengkonfigurasi Unit Kapasitas Baca RCUs () dan Unit Kapasitas Tulis () secara independen. WCU Jika tabel Anda memiliki Global Secondary Indexes (GSI) yang dikonfigurasi, Anda harus menentukan throughput yang akan dikonsumsi, yang juga akan independen dari RCUs dan WCUs dari tabel dasar.
catatan
Indeks Sekunder Lokal (LSI) mengkonsumsi kapasitas dari tabel dasar.
Topik
Cara mengambil metrik penggunaan pada tabel DynamoDB Anda
Untuk mengevaluasi tabel dan GSI kapasitas, pantau CloudWatch metrik berikut dan pilih dimensi yang sesuai untuk mengambil tabel atau GSI informasi:
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 burst adalah fitur DynamoDB yang memungkinkan pelanggan untuk sementara mengkonsumsi RCUs lebih banyakWCUs/daripada yang disediakan semula (lebih dari throughput yang disediakan per detik yang ditentukan dalam tabel). Kapasitas lonjakan diciptakan untuk menyerap peningkatan lalu lintas tiba-tiba karena peristiwa khusus atau lonjakan penggunaan. Kapasitas lonjakan ini tidak bertahan selamanya. Segera setelah tidak digunakan RCUs dan habis, Anda akan WCUs terhambat jika Anda mencoba untuk mengkonsumsi 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 Anda membuat konfigurasi penskalaan otomatis DynamoDB untuk tabel dasar Anda, ingatlah untuk menyertakan konfigurasi lain GSI untuk semua yang terkait dengan tabel.
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 lebih menentukan apakah Anda perlu mengurangi jumlah WCUs danRCUS, Anda harus meninjau kembali bacaan lain dalam interval.
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.