DynamoDB on-demand throughput exceeded

TL;DR — Ya, tabel on-demand tetap dapat throttle. Tiga penyebab: Anda mengatur max throughput (MaxReadRequestUnits/MaxWriteRequestUnits) dan melewatinya; Anda menggerakkan lebih dari dua kali lipat puncak trafik sebelumnya dalam 30 menit; atau Anda mencapai kuota tingkat-tabel (default 40.000 read request unit dan 40.000 write request unit per tabel). Naikkan atau hapus max, ramp trafik secara bertahap, dan pertahankan retry exponential-backoff.

Apa artinya

ThrottlingException: Rate of requests exceeds the allowed throughput.

Mode on-demand menskala untuk mengakomodasi trafik, tetapi tidak secara instan dan tidak tanpa batas. Tabel on-demand baru mempertahankan hingga 4.000 tulis dan 12.000 baca per detik segera, dan on-demand secara instan mengakomodasi hingga dua kali lipat puncak trafik sebelumnya. Melampaui maksimum yang dikonfigurasi, melampaui penggandaan itu dalam 30 menit, atau melewati kuota semua muncul sebagai throttling — ThrottlingException adalah HTTP 400 dan dapat dicoba ulang, dan kesalahan membawa field ThrottlingReason (mis. IndexWriteMaxOnDemandThroughputExceeded) yang menamai resource dan batas yang tercapai.

Mengapa itu terjadi

  • Max throughput yang dikonfigurasi — Anda mengatur MaxReadRequestUnits/MaxWriteRequestUnits dan permintaan melewatinya; DynamoDB mengembalikan ThrottlingException (ini batas kontrol-biaya yang Anda pilih, diterapkan best-effort).
  • Lebih cepat dari 2x puncak sebelumnya — on-demand secara instan mengakomodasi hingga dua kali lipat puncak sebelumnya, tetapi throttling dapat terjadi jika Anda melebihi dua kali lipat puncak itu dalam 30 menit.
  • Ramp cold-start — tabel yang benar-benar baru (atau bulk load tepat setelah pembuatan) melampaui baseline awal 4.000 tulis dan 12.000 baca per detik.
  • Kuota tingkat-tabel — batas per-tabel default 40.000 read request unit dan 40.000 write request unit; pelanggaran kuota tingkat-akun muncul sebagai RequestLimitExceeded sebagai gantinya.
  • Partisi panas — trafik terkonsentrasi pada satu partition key, yang punya batas per-partisinya sendiri terlepas dari mode tabel.

Bagaimana cara memperbaikinya

  1. Naikkan maksimum yang dikonfigurasi — tingkatkan MaxReadRequestUnits/MaxWriteRequestUnits via UpdateTable, atau atur nilai ke -1 untuk menghapus batas kustom Anda (service quota tetap berlaku).
  2. Pre-warm sebelum lonjakan yang diketahui — gunakan pengaturan warm throughput DynamoDB, atau sebarkan pertumbuhan trafik selama setidaknya 30 menit agar penggandaan on-demand tetap di depan permintaan alih-alih mengejar perubahan mendadak.
  3. Pertahankan retry exponential-backoff — SDK mencoba ulang throttle secara default; gunakan mode retry adaptif untuk beban yang meledak.
  4. Batasi laju import massal atau gunakan fitur S3 import alih-alih menghantam tabel baru.
  5. Sebarkan ruang kunci agar tidak ada satu partition key yang menjadi panas — partisi panas throttle bahkan ketika tabel punya ruang.
  6. Minta peningkatan kuota jika Anda secara sah membutuhkan lebih dari 40.000 read/write request unit pada sebuah tabel.

Mengejar kunci mana yang menyerap permintaan? Telusuri dan filter tabel di aplikasi desktop DynoTable untuk menemukan partition key panas sebelum ia membatasi throughput Anda.

FAQ

Bisakah tabel on-demand DynamoDB di-throttle? Ya. Tabel on-demand throttle ketika Anda melewati max throughput yang dikonfigurasi, menggerakkan lebih dari dua kali lipat puncak trafik sebelumnya sebelum DynamoDB selesai menskala, melewati kuota per-tabel default 40.000 read dan 40.000 write request unit, atau mengonsentrasikan trafik pada partition key panas.

Bagaimana cara menaikkan batas throughput on-demand? Tingkatkan MaxReadRequestUnits/MaxWriteRequestUnits via UpdateTable, atau atur nilai ke -1 untuk menghapus batas kustom Anda — kuota akun tetap berlaku. Jika Anda butuh lebih dari default 40.000 request unit per tabel, minta peningkatan kuota.

Kesalahan terkait

Referensi

Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.