DynamoDB on-demand throughput exceeded
TL;DR — Evet, talep üzerine tablolar yine de kısıtlayabilir. Üç neden: bir maksimum verim (MaxReadRequestUnits/MaxWriteRequestUnits) ayarladınız ve onu geçtiniz; 30 dakika içinde önceki trafik zirvenizin iki katından fazlasını sürdünüz; ya da bir tablo düzeyi kotaya çarptınız (varsayılan tablo başına 40.000 okuma istek birimi ve 40.000 yazma istek birimi). Maksimumu yükseltin veya kaldırın, trafiği kademeli olarak artırın ve üstel geri çekilme yeniden denemelerini koruyun.
Ne anlama gelir
ThrottlingException: Rate of requests exceeds the allowed throughput.Talep üzerine mod trafiği karşılayacak şekilde ölçeklenir, ama anında değil ve tavanlar olmadan değil. Yeni talep üzerine tablolar hemen saniyede 4.000 yazma ve 12.000 okumaya kadar sürdürür ve talep üzerine mod, önceki trafik zirvenizin iki katına kadar anında karşılar. Yapılandırılmış bir maksimumu aşmak, o ikiye katlamayı 30 dakika içinde geçmek ya da bir kotayı aşmak, hepsi kısıtlama olarak belirir — ThrottlingException, HTTP 400 ve yeniden denenebilirdir ve hata, çarpılan kaynağı ve sınırı adlandıran ThrottlingReason alanları (örneğin IndexWriteMaxOnDemandThroughputExceeded) taşır.
Neden olur
- Yapılandırılmış bir maksimum verim —
MaxReadRequestUnits/MaxWriteRequestUnitsayarladınız ve talep onu geçti; DynamoDB birThrottlingExceptiondöndürür (seçtiğiniz, en iyi çabayla uygulanan bir maliyet kontrolü tavanıdır). - Önceki zirvenin 2 katından hızlı — talep üzerine mod önceki zirvenizin iki katına kadar anında karşılar, ancak o zirvenin iki katını 30 dakika içinde aşarsanız kısıtlama olabilir.
- Soğuk başlatma ramp'ı — yepyeni bir tablo (ya da oluşturmadan hemen sonra bir toplu yükleme), saniyede 4.000 yazma ve 12.000 okumalık ilk taban çizgisini aşar.
- Tablo düzeyi kota — varsayılan tablo başına 40.000 okuma istek birimi ve 40.000 yazma istek birimi tavanı; hesap düzeyi kota ihlalleri bunun yerine
RequestLimitExceededolarak belirir. - Sıcak bir bölüm — tablo modundan bağımsız olarak kendi bölüm başına sınırı olan tek bir bölüm anahtarında yoğunlaşmış trafik.
Nasıl düzeltilir
- Yapılandırılmış maksimumu yükseltin —
UpdateTablearacılığıylaMaxReadRequestUnits/MaxWriteRequestUnits'i artırın ya da özel tavanınızı kaldırmak için değeri-1olarak ayarlayın (hizmet kotaları hâlâ geçerlidir). - Bilinen bir ani artıştan önce ön ısıtın — DynamoDB'nin sıcak verim ayarını kullanın ya da trafik büyümesini en az 30 dakikaya yayın, böylece talep üzerine modun ikiye katlaması bir basamak değişikliğini kovalamak yerine talebin önünde kalsın.
- Üstel geri çekilme yeniden denemelerini koruyun — SDK kısıtlamaları varsayılan olarak yeniden dener; ani yükler için uyarlanabilir yeniden deneme modunu kullanın.
- Toplu içe aktarmaları kısıtlayın ya da yeni bir tabloyu zorlamak yerine S3 içe aktarma özelliğini kullanın.
- Anahtar alanını yayın, böylece hiçbir bölüm anahtarı sıcak olmasın — sıcak bir bölüm, tablonun boş alanı olsa bile kısıtlar.
- Bir tabloda meşru biçimde 40.000 okuma/yazma istek biriminden fazlasına ihtiyacınız varsa bir kota artışı isteyin.
Hangi anahtarın istekleri emdiğini mi kovalıyorsunuz? Verimi sınırlamadan önce sıcak bölüm anahtarını bulmak için tabloyu DynoTable masaüstü uygulamasında göz atın ve filtreleyin.
SSS
Bir DynamoDB talep üzerine tablosu kısıtlanabilir mi? Evet. Talep üzerine tablolar, yapılandırılmış bir maksimum verimi geçtiğinizde, DynamoDB ölçeklendirmeyi bitirmeden önce önceki trafik zirvenizin iki katından fazlasını sürdüğünüzde, varsayılan tablo başına 40.000 okuma ve 40.000 yazma istek birimi kotasını aştığınızda ya da trafiği sıcak bir bölüm anahtarında yoğunlaştırdığınızda kısıtlar.
Talep üzerine verim sınırını nasıl yükseltirim?
UpdateTable aracılığıyla MaxReadRequestUnits/MaxWriteRequestUnits'i artırın ya da özel tavanınızı kaldırmak için değeri -1 olarak ayarlayın — hesap kotaları hâlâ geçerlidir. Tablo başına varsayılan 40.000 istek biriminden fazlasına ihtiyacınız varsa, bir kota artışı isteyin.
İlgili hatalar
- ProvisionedThroughputExceededException — sağlanan mod eşdeğeri.
- ThrottlingException — kontrol düzlemi / hesap hız sınırları.
- Öğrenin: On-demand vs provisioned · Hot partitions
Kaynaklar
- DynamoDB on-demand capacity mode — Amazon DynamoDB Developer Guide
- DynamoDB maximum throughput for on-demand tables — Amazon DynamoDB Developer Guide
- OnDemandThroughput — Amazon DynamoDB API Reference
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Troubleshooting throttling in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.