Share via


針對 Azure Cosmos DB 服務無法使用的例外狀況,進行診斷和疑難排解

適用於:NoSQL

SDK 無法連線至 Azure Cosmos DB。 此情境可能是暫時性或永久的,實際情況視網路狀況而定。

務必確定應用程式設計遵循我們的使用 Azure Cosmos DB SDK 設計彈性應用程式的指南,以確保其正確回應不同的網路狀況。 您的應用程式應該已針對無法使用服務的錯誤進行重試。

評估無法使用服務的錯誤時:

  • 相較於作業成功時,目前所影響的作業量為何? 受影響作業是否在服務 SLA 內?
  • P99 延遲 / 可用性是否受到影響?
  • 失敗會影響所有應用程式執行個體還是只會影響子集? 當問題縮減為執行個體的子集時,通常是與這些執行個體相關的問題。

疑難排解步驟

下列清單包含服務無法使用的例外狀況的已知原因和解決方案。

確認子狀態碼

在某些情況下,「HTTP 503 服務無法使用」錯誤會包含可協助識別原因的子狀態碼。

子狀態碼 描述
20001 發生服務無法使用錯誤,因為發生用戶端連線問題 (嘗試連線失敗)。 用戶端嘗試藉由重試進行復原,但所有重試都失敗。
20002 因為有用戶端逾時,所以發生服務無法使用錯誤。 用戶端嘗試藉由重試進行復原,但所有重試都失敗。
20003 因為有與作業系統相關的基礎 I/O 錯誤,所以發生服務無法使用錯誤。 如需相關的 I/O 錯誤,請參閱例外狀況詳細資料。
20004 因為用戶端電腦的 CPU 多載,所以發生服務無法使用錯誤。
20005 因為耗盡用戶端電腦的執行緒集區,所以發生服務無法使用錯誤。 確認您程式碼中任何潛在的封鎖非同步呼叫
20006 服務與用戶端之間的連線以非預期的方式中斷或終止。
>= 21001 因暫時性服務狀況而發生此服務無法使用錯誤。 確認上一節中的條件,確認您的重試原則是否已就緒。 如果這些錯誤的數量相較於成功數量過高,請連絡 Azure 支援。

必要的連接埠遭到封鎖

請確認已啟用所有必要的連接埠

用戶端暫時性連線問題

當發生造成逾時的暫時性連線問題時,可能會呈現服務無法使用的例外狀況,而且可以遵循設計建議安全地進行重試。

請遵循要求逾時疑難排解步驟來解決此問題。

服務中斷

請查看 Azure 狀態,確認目前是否有問題發生。

下一步

  • 針對使用 Azure Cosmos DB .NET SDK 時發生的問題,進行診斷和疑難排解
  • 針對使用 Azure Cosmos DB Java SDK 時發生的問題進行診斷和疑難排解
  • 了解 .NET 的效能指導方針。
  • 了解 Java 的效能指導方針。