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

  1. Masuk ke portal Azure.

  2. Navigasi ke akun Azure Cosmos DB for MongoDB Anda.

  3. Buka panel Fitur di bawah bagian Setelan.

  4. Pilih Server Side Retry.

  5. Klik Aktifkan untuk mengaktifkan fitur ini untuk semua koleksi di akun Anda.

Cuplikan layar fitur coba lagi sisi server untuk Azure Cosmos DB untuk MongoDB

Menggunakan Azure CLI

  1. Periksa apakah SSR sudah diaktifkan untuk akun Anda:

    az cosmosdb show --name accountname --resource-group resourcegroupname
    
  2. 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
    
  3. 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.