Mengamati peristiwa yang membatasi laju

Selesai

Dalam unit ini, kami akan membahas metode mengenai cara mengidentifikasi kejadian yang membatasi laju.

Saat menggunakan Azure Cosmos DB untuk NoSQL, Azure Cosmos DB mungkin mengembalikan kesalahan kode status 429. Kode kesalahan ini menunjukkan bahwa pengecualian Tingkat permintaan terlalu besar telah terjadi. Pengecualian ini berarti bahwa permintaan Azure Cosmos DB dibatasi tarifnya.

Saat throughput yang disediakan digunakan, unit permintaan per detik (RU/dtk) diatur untuk beban kerja. Operasi (baca, tulis, kueri) terhadap layanan menggunakan unit permintaan (RU). Jika dalam detik tertentu, operasi mengonsumsi lebih banyak RU daripada RU/dtk yang disediakan, Azure Cosmos DB akan mengembalikan pengecualian 429.

Ada tiga alasan utama mengapa kami mendapatkan pengecualian 429:

  • Tingkat permintaan besar.
  • Permintaan tidak selesai karena tingginya tingkat permintaan metadata.
  • Permintaan tidak selesai karena kesalahan layanan sementara.

Kita akan melihat masing-masing alasan ini dan cara mengidentifikasinya.

Tingkat permintaan terlalu besar

Dari tiga alasan pengecualian ini, alasan ini adalah yang paling umum. Azure Cosmos DB mengembalikan pengecualian ini saat RU dengan operasi pada data melebihi RU/dtk yang disediakan.

Untuk menyelidiki kemungkinan penyebab pengecualian 429:

  1. Buka halaman akun Azure Cosmos DB di portal Microsoft Azure.
  2. Di bagian menu Wawasan->Permintaan, lihat bagan Total Permintaan berdasarkan Kode Status, dan cari kemunculan pengecualian 429.
  3. Jika perlu, filter bagan berdasarkan Rentang Waktu dan Database ke rentang waktu dan database yang diinginkan.

Untuk sebagian besar aplikasi, biasanya memiliki kurang dari 5% permintaan dengan 429 pengecualian.

Diagram that shows the charts by Status code and Throttled Request (429 exceptions).

Jika persentase pengecualian 429 lebih tinggi dari 5%, kemungkinan pengecualian disebabkan oleh partisi panas.

Untuk memverifikasi apakah akses database menemukan partisi panas, di portal Microsoft Azure di bawah akun Azure Cosmos DB, di bawah Wawasan->Throughput, tinjau bagan Penggunaan RU yang Dinormalisasi (%) Oleh PartitionKeyRangeID.

Diagram that shows the charts by throughput of a hot partition.

Pembatasan pada permintaan metadata

Pengecualian 429 dapat terjadi saat melakukan operasi metadata berikut dengan volume tinggi:

  • Membuat, membaca, memperbarui, atau menghapus kontainer atau database
  • Melihat daftar database atau kontainer di akun Cosmos
  • Mengkueri throughput yang disediakan saat ini

Untuk menyelidiki apakah pengecualian 429 disebabkan oleh permintaan Metadata, di portal Microsoft Azure di bawah akun Azure Cosmos DB, di bawah Wawasan->Sistem, tinjau bagan Permintaan Metadata Yang Melebihi Kapasitas (429 dtk).

Diagram that shows the charts for metadata access.

Pembatasan jumlah permintaan karena kesalahan layanan sementara

Saat melihat 429 pengecualian terjadi, Anda mungkin juga melihat kesalahan 503 dilaporkan dalam bagan Wawasan->PermintaanTotal Permintaan berdasarkan Kode Status. Pengecualian ini dapat menunjukkan bahwa pengecualian 429 terjadi karena kesalahan layanan sementara.