DynamoDB RequestLimitExceeded

TL;DR — Bir tablonun kendi sağlanan kapasitesini değil, bir hesap/tablo düzeyi istek-hızı kotasını aştınız. Talep üzerine tablolar varsayılan olarak saniyede 40.000 okuma istek birimi ve 40.000 yazma istek birimidir. SDK'nın geri çekilme yeniden denemelerini koruyun, trafik gerçekse Service Quotas'ta kotayı yükseltin ve tek bir tablo/bölüm darboğaz olmasın diye yükü yayın.

Ne anlama gelir

RequestLimitExceeded: Throughput exceeds the current throughput limit for your
account. To request a limit increase, contact AWS Support.

RequestLimitExceeded, DynamoDB'nin veri düzleminde döndürdüğü üç kısıtlama istisnasından biridir (ProvisionedThroughputExceededException ve ThrottlingException ile birlikte). Tablo başına sağlanan RCU/WCU tavanı değil, bir hesap düzeyi hizmet kotasına — talep üzerine tablolar için tablo başına verim kotası gibi — çarptığınızı işaret eder. HTTP 400 döndürür ve yeniden denenebilirdir — SDK'lar otomatik olarak geri çekilir ve yeniden dener. Hata, ThrottlingReason alanları (örneğin TableWriteAccountLimitExceeded ya da IndexReadAccountLimitExceeded) artı etkilenen kaynağın ARN'ini taşır.

Neden olur

  • Talep üzerine tablo varsayılan tavanı — her talep üzerine tablonun (ve her GSI'sinin) saniyede 40.000 okuma istek birimi ve 40.000 yazma istek birimlik ayarlanabilir bir varsayılan kotası vardır. Onu geçen sürekli tüketim, kota yükseltilene kadar hesap düzeyi ThrottlingReason'larla kısıtlar.
  • Tablo hesap kotası altında daha fazla ölçeklenemiyor — AWS belgelerine göre, talep üzerine isteklerin hızı izin verilen hesap verimini aşar "ve tablo daha fazla ölçeklenemez". Bu kotalar destek koruyucularıdır ve artırılabilirler.
  • Yeni talep üzerine olan bir tablo ısınıyor — yeni bir talep üzerine tablo (ya da talep üzerine yeni geçirilmiş biri) hemen önceki zirvesinin iki katına kadar hizmet verir; bunun ötesinde çok daha büyük bir ani artış, ölçeklenmeden önce kısıtlayabilir.
  • Son zirvesinin çok üzerinde bir trafik ani artışını emen tek bir sıcak tablo.

Nasıl düzeltilir

  1. Üstel geri çekilme yeniden denemelerini açık tutun — SDK varsayılanı geçici ani artışları ele alır. Ani iş yükleri için uyarlanabilir yeniden deneme modunu kullanın. Yeniden denemeleri devre dışı bırakmayın.
  2. Kotayı yükseltin — trafik meşru ve sürekliyse, Service Quotas'ta tablo başına talep üzerine verime (ya da hesap tablo-sayısı/verim kotasına) bir artış isteyin.
  3. Bilinen bir ani artıştan önce ön ısıtın — doğrudan zirveye atlamak yerine trafiği kademeli olarak artırın, böylece talep üzerine ölçeklendirme talebin önünde kalsın.
  4. Yükü yayın — sıcak anahtarları parçalayın ve yazmaları dağıtın, böylece tek bir tablo/bölüm tüm ani artışı taşımasın (sıcak bölüm desenleri).
  5. Okuma baskısını tavanın altına indirmek için sıcak okumaları önbelleğe alın (DAX ya da bir uygulama önbelleği).

SSS

RequestLimitExceeded, ProvisionedThroughputExceededException'dan nasıl farklıdır? ProvisionedThroughputExceededException, bir sağlanan kapasite tablosunun kendi yapılandırılmış RCU/WCU'sunu aştığı anlamına gelir. RequestLimitExceeded, tek bir tablonun tablo başına ayarından bağımsız olarak bir hesap ya da tablo düzeyi istek-hızı kotasına — çoğunlukla saniyede 40.000 okuma ve 40.000 yazma istek birimlik talep üzerine varsayılanına — çarptığınız anlamına gelir.

RequestLimitExceeded yeniden denenebilir mi? Evet. Bir kısıtlama hatasıdır ve AWS SDK'ları onu üstel geri çekilmeyle otomatik yeniden dener. Kalıcı oluşumlar, daha fazla yeniden deneme değil, bir kota artışına ya da yükü yaymaya ihtiyacınız olduğu anlamına gelir.

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.