Azure Cosmos DB for MongoDB işlemlerinde hız sınırlama hatalarını önleyin
ŞUNLAR IÇIN GEÇERLIDIR: MongoDB
MongoDB için Azure Cosmos DB işlemleri, bir koleksiyonun aktarım hızı sınırını (RU) aşarsa mongo istek ölçümlerinde 16500 hataya neden olarak hız sınırlaması ile karşılaşabilir.
İşlem yeniden denemelerini otomatikleştirmek için Sunucu Tarafı Yeniden Deneme'yi (SSR) etkinleştirin. SSR, kısa gecikmelerle istekleri hesabınızdaki tüm koleksiyonlarda yeniden denenir. 60 saniyelik bir zaman aşımına ulaşılırsa, istemci bir ExceededTimeLimit özel durumu (50) alır.
Azure portal’ı kullanma
Azure Portal’ında oturum açın.
MongoDB için Azure Cosmos DB hesabınıza gidin.
Ayarlar bölümünün altındaki Özellikler bölmesine gidin.
Sunucu Tarafı Yeniden Dene'yi seçin.
Hesabınızdaki tüm koleksiyonlarda bu özelliği etkinleştirmek için Etkinleştir'e tıklayın.
Azure CLI'yi kullanma
Hesabınız için SSR'nin zaten etkin olup olmadığını denetleyin:
az cosmosdb show --name accountname --resource-group resourcegroupname
Veritabanı hesabınızdaki tüm koleksiyonlar için SSR'yi etkinleştirin . Bu değişikliğin geçerli olması 15 dakika kadar sürebilir.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Aşağıdaki komut, yetenek listesinden kaldırarak
DisableRateLimitingResponses
veritabanı hesabınızdaki tüm koleksiyonlar için sunucu tarafı yeniden denemesini devre dışı bırakır. Bu değişikliğin geçerli olması 15 dakika kadar sürebilir.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Sık sorulan sorular
Sunucu tarafı yeniden denemesinin etkilerini nasıl izleyebilirim?
Azure Cosmos DB kaynak günlüklerinizde tahminiDelayFromRateLimitingInMilliseconds içeren günlük girdilerini arayabilirsiniz.
Sunucu tarafı yeniden denemesi tutarlılık düzeyimi etkileyecek mi?
sunucu tarafı yeniden denemesi isteğin tutarlılığını etkilemez. İstekler hız sınırlıysa sunucu tarafında yeniden denenir.
Sunucu tarafı yeniden denemesi istemcimin alabileceği herhangi bir hata türünü etkiler mi?
Hayır, sunucu tarafı yeniden denemesi yalnızca sunucu tarafında yeniden denenerek hız sınırlama hatalarını etkiler. Bu özellik, istemci uygulamasında hız sınırlama hatalarını işlemeniz gerekmesini önler. Diğer tüm hatalar istemciye gider.
Sonraki adımlar
Yaygın hataları giderme hakkında daha fazla bilgi edinmek için şu makaleye bakın:
Azure Cosmos DB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkındaki bilgileri kullanabilirsiniz.
- Aktarım hızını bölümler arasında yeniden dağıtmayı öğrenmek için bkz . Bölümler arasında aktarım hızını yeniden dağıtmayı öğrenme
- Tek bildiğiniz mevcut veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa, sanal çekirdek veya vCPU kullanarak istek birimlerini tahmin etme hakkında bilgi edinin
- Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız Azure Cosmos DB kapasite planlayıcısı kullanarak istek birimlerini tahmin etme hakkında bilgi edinin