Mencegah kesalahan pembatasan kecepatan untuk operasi Azure Cosmos DB for MongoDB
BERLAKU UNTUK: MongoDB
Operasi Azure Cosmos DB untuk MongoDB mungkin mengalami pembatasan laju, yang mengakibatkan 16500 kesalahan dalam metrik permintaan mongo, jika melebihi batas throughput (RU) koleksi.
Aktifkan Server Side Retry (SSR) untuk mengotomatiskan percobaan ulang operasi. SSR mencoba kembali permintaan di semua koleksi di akun Anda dengan penundaan singkat. Jika batas waktu 60 detik tercapai, klien menerima pengecualian ExceededTimeLimit (50).
Menggunakan portal Azure
Masuk ke portal Azure.
Navigasi ke akun Azure Cosmos DB for MongoDB Anda.
Buka panel Fitur di bawah bagian Setelan.
Pilih Server Side Retry.
Klik Aktifkan untuk mengaktifkan fitur ini untuk semua koleksi di akun Anda.
Menggunakan Azure CLI
Periksa apakah SSR sudah diaktifkan untuk akun Anda:
az cosmosdb show --name accountname --resource-group resourcegroupname
Aktifkan SSR untuk semua koleksi di akun database Anda. Mungkin diperlukan waktu hingga 15 menit untuk menerapkan perubahan ini.
az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
Perintah berikut akan Menonaktifkan server-side retry (SSR) untuk semua koleksi di akun database Anda dengan menghapus
DisableRateLimitingResponses
dari daftar kemampuan. Mungkin diperlukan waktu hingga 15 menit untuk menerapkan perubahan ini.az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
Tanya jawab umum
Bagaimana cara memantau efek dari server-side retry (SSR)?
Anda dapat melihat kesalahan pembatasan laju (16500) dengan metrik permintaan mongo, yang dicoba ulang sisi server di panel Metrik Azure Cosmos DB. Perlu diingat bahwa kesalahan ini tidak masuk ke klien saat SSR diaktifkan, karena kesalahan tersebut ditangani dan dicoba ulang di sisi server.
Anda dapat mencari entri log yang berisi estimatedDelayFromRateLimitingInMilliseconds di log sumber daya Azure Cosmos DB Anda.
Apakah server-side retry (SSR) akan memengaruhi tingkat konsistensi saya?
Server-side retry (SSR) tidak memengaruhi konsistensi permintaan. Permintaan dicoba ulang sisi server jika dibatasi lajunya.
Apakah server-side retry (SSR) memengaruhi semua jenis kesalahan yang mungkin diterima klien saya?
Tidak, percobaan ulang sisi server hanya memengaruhi kesalahan pembatasan laju dengan mencoba kembali sisi server. Fitur ini mencegah Anda dari keharusan menangani kesalahan yang membatasi kecepatan dalam aplikasi klien. Semua kesalahan lainnya akan dikirim ke klien.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang memecahkan masalah kesalahan umum, lihat artikel ini:
Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Untuk mempelajari cara mendistribusikan ulang throughput di seluruh partisi, lihat Pelajari cara mendistribusikan ulang throughput di seluruh partisi
- Jika Anda hanya mengetahui jumlah vcore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB