View a markdown version of this page

4- throughput On-demand maksimum terlampaui - Amazon DynamoDB

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

4- throughput On-demand maksimum terlampaui

Saat mengonfigurasi tabel sesuai permintaan atau GSI, Anda dapat secara opsional menetapkan batas throughput maksimum (MaxReadRequestUnitsdan MaxWriteRequestUnits) pada tingkat tabel atau indeks untuk mencegah biaya yang tidak terkendali atau melindungi sistem hilir agar tidak kewalahan. Untuk informasi selengkapnya tentang throughput maksimum, lihatThroughput maksimum DynamoDB untuk tabel sesuai permintaan.

Ketika konsumsi baca atau tulis Anda melebihi batas yang ditetapkan sendiri ini, permintaan tambahan yang akan melebihi batas menerima respons throttle cepat. DynamoDB mengembalikan pengecualian dengan tipe MaxOnDemandThroughputExceeded alasan pembatasan, menunjukkan sumber daya mana yang telah mencapai batas throughput.

On-demand throughput maksimum melebihi pelambatan

Bagian ini memberikan panduan resolusi untuk skenario pembatasan throughput maksimum sesuai permintaan. Sebelum menggunakan panduan ini, pastikan Anda telah mengidentifikasi alasan pelambatan spesifik dari penanganan pengecualian aplikasi Anda, dan menentukan Nama Sumber Daya Amazon (ARN) dari sumber daya yang terpengaruh. Untuk informasi tentang mengambil alasan pelambatan dan mengidentifikasi sumber daya yang dibatasi, lihat. Kerangka diagnosis pelambatan DynamoDB

Sebelum menyelami skenario pelambatan tertentu, pertama-tama pertimbangkan apakah tindakan benar-benar diperlukan:

  • Mengevaluasi pengaturan throughput maksimum Anda: Batasan ini sengaja dikonfigurasi untuk mengontrol biaya atau melindungi sistem hilir. Jika Anda menerima peristiwa MaxOnDemandThroughputExceeded pelambatan, batas Anda berfungsi seperti yang dirancang. Pertimbangkan apakah meningkatkan batas ini sejalan dengan kontrol biaya awal atau tujuan perlindungan sistem Anda.

  • Menilai dampak aplikasi: T entukan apakah throttling benar-benar menyebabkan masalah bagi aplikasi atau pengguna Anda. Jika aplikasi Anda menangani percobaan ulang secara efektif dan memenuhi persyaratan kinerjanya meskipun ada pelambatan sesekali, mempertahankan batas Anda saat ini mungkin merupakan pilihan yang tepat.

  • Tinjau pola lalu lintas: Analisis apakah pelambatan mewakili pola lalu lintas yang diharapkan atau lonjakan yang tidak biasa. Untuk pola lalu lintas berulang yang dapat diprediksi dan secara konsisten melebihi batas Anda, menyesuaikan pengaturan throughput maksimum mungkin diperlukan. Untuk lonjakan sementara, menerapkan strategi distribusi permintaan yang lebih baik mungkin lebih tepat daripada menaikkan batas.

Jika setelah mempertimbangkan, Anda menentukan bahwa pengaturan throughput maksimum perlu disesuaikan, lihat skenario pembatasan spesifik di bawah ini untuk opsi remediasi yang ditargetkan:

TableReadMaxOnDemandThroughputExceeded

Ketika ini terjadi

Tabel on-demand Anda telah melampaui kapasitas throughput baca maksimum yang dikonfigurasi. Anda dapat memantau CloudWatch metrik Diagnosis dan pemantauan umum untuk menganalisis peristiwa pelambatan Anda.

Opsi remediasi

Pertimbangkan langkah-langkah berikut untuk mengatasi peristiwa pelambatan Anda:

  • Tingkatkan batas throughput maksimum: Gunakan konsol DynamoDB, AWS CLI, atau DynamoDB UpdateTable API untuk meningkatkan MaxReadRequestUnits nilai tabel yang terpengaruh, lalu pantau dan sesuaikan. Hal ini memungkinkan tabel Anda menangani throughput baca yang lebih tinggi sebelum pelambatan terjadi.

  • Hapus batas maksimum: Setel MaxReadRequestUnits -1 untuk menghapus plafon, memungkinkan penskalaan berdasarkan permintaan hingga kuota throughput tingkat akun Anda. Ini menghapus batas kustom Anda tetapi tetap mempertahankan AWS perlindungan tingkat akun. Namun, penting untuk memantau pengeluaran dengan cermat setelah menghapus batas ini, karena tabel Anda sekarang dapat mengkonsumsi lebih banyak kapasitas secara signifikan sebelum mencapai kuota tingkat akun.

TableWriteMaxOnDemandThroughputExceeded

Ketika ini terjadi

Tabel on-demand Anda telah melampaui kapasitas throughput tulis maksimum yang dikonfigurasi. Anda dapat memantau CloudWatch metrik Diagnosis dan pemantauan umum untuk menganalisis peristiwa pelambatan Anda.

Opsi remediasi

Pertimbangkan langkah-langkah berikut untuk mengatasi peristiwa pelambatan Anda:

  • Tingkatkan batas throughput maksimum: Gunakan konsol DynamoDB, AWS CLI, atau DynamoDB UpdateTable API untuk meningkatkan MaxWriteRequestUnits nilai tabel yang terpengaruh, lalu pantau dan sesuaikan.

  • Hapus batas maksimum: Setel MaxWriteRequestUnits -1 untuk menghapus plafon, memungkinkan penskalaan berdasarkan permintaan hingga kuota throughput tingkat akun Anda. Ini menghapus batas kustom Anda tetapi tetap mempertahankan AWS perlindungan tingkat akun. Namun, penting untuk memantau pengeluaran dengan cermat setelah menghapus batas ini, karena tabel Anda sekarang dapat mengkonsumsi lebih banyak kapasitas secara signifikan sebelum mencapai kuota tingkat akun.

IndexReadMaxOnDemandThroughputExceeded

Ketika ini terjadi

Permintaan baca ke GSI dalam mode on-demand telah melampaui kapasitas throughput baca maksimum yang dikonfigurasi GSI. Anda dapat memantau CloudWatch metrik Diagnosis dan pemantauan umum untuk menganalisis peristiwa pelambatan Anda.

Opsi remediasi

Pertimbangkan langkah-langkah berikut untuk mengatasi peristiwa pelambatan Anda:

  • Tingkatkan batas throughput maksimum GSI: Gunakan konsol DynamoDB, AWS CLI, atau DynamoDB UpdateTable API untuk meningkatkan MaxReadRequestUnits nilai GSI yang terpengaruh, lalu pantau dan sesuaikan.

  • Hapus batas maksimum GSI: Setel MaxReadRequestUnits ke -1 agar GSI menghapus plafon, memungkinkan penskalaan berdasarkan permintaan hingga kuota throughput tingkat akun Anda. Ini menghapus batas kustom Anda tetapi tetap mempertahankan AWS perlindungan tingkat akun. Namun, penting untuk memantau pengeluaran dengan cermat setelah menghapus batas ini.

IndexWriteMaxOnDemandThroughputExceeded

Ketika ini terjadi

Pembaruan item dalam tabel dasar memicu penulisan ke GSI dalam mode on-demand yang melebihi kapasitas throughput tulis maksimum GSI yang dikonfigurasi, menyebabkan pelambatan tekanan balik. Anda dapat memantau CloudWatch metrik Diagnosis dan pemantauan umum untuk menganalisis peristiwa pelambatan Anda.

Opsi remediasi

Pertimbangkan langkah-langkah berikut untuk mengatasi peristiwa pelambatan Anda:

  • Tingkatkan batas throughput maksimum GSI: Gunakan konsol DynamoDB, AWS CLI, atau DynamoDB UpdateTable API untuk meningkatkan MaxWriteRequestUnits nilai GSI yang terpengaruh, lalu pantau dan sesuaikan.

  • Hapus batas maksimum GSI: Setel MaxWriteRequestUnits ke -1 agar GSI menghapus plafon, memungkinkan penskalaan berdasarkan permintaan hingga kuota throughput tingkat akun Anda. Ini menghapus batas kustom Anda tetapi tetap mempertahankan AWS perlindungan tingkat akun. Namun, penting untuk memantau pengeluaran dengan cermat setelah menghapus batas ini.

Diagnosis dan pemantauan umum

Saat pemecahan masalah throughput maksimum sesuai permintaan melebihi peristiwa pelambatan, beberapa CloudWatch metrik dapat membantu mengidentifikasi akar penyebab dan pola penskalaan.

CloudWatch Metrik penting

Pantau metrik utama ini untuk mendiagnosis throughput maksimum sesuai permintaan melebihi pelambatan:

Pendekatan analisis

Ikuti langkah-langkah berikut untuk mengonfirmasi diagnosis throughput maksimum sesuai permintaan:

  1. Bandingkan kapasitas yang dikonsumsi dengan batas kapasitas maksimum - periksa apakah konsumsi secara konsisten mendekati atau melebihi batas maksimum.

  2. Tinjau frekuensi dan waktu peristiwa pelambatan untuk mengidentifikasi pola. Cari peningkatan mendadak dalam kapasitas yang dikonsumsi yang bertepatan dengan peristiwa pelambatan Anda.

  3. Gunakan CloudWatch Contributor Insights untuk mengidentifikasi item atau kunci partisi mana yang menggunakan kapasitas paling banyak.