Udostępnij za pośrednictwem


Diagnozowanie i rozwiązywanie problemów z wyjątkami niedostępności usługi Azure Cosmos DB

DOTYCZY: NoSQL

Zestaw SDK nie mógł nawiązać połączenia z usługą Azure Cosmos DB. Ten scenariusz może być przejściowy lub trwały w zależności od warunków sieciowych.

Ważne jest, aby upewnić się, że projekt aplikacji jest zgodnie z naszym przewodnikiem dotyczącym projektowania odpornych aplikacji przy użyciu zestawów SDK usługi Azure Cosmos DB, aby upewnić się, że prawidłowo reaguje na różne warunki sieciowe. Aplikacja powinna mieć zaimplementowane ponawianie prób w przypadku błędów z powodu niedostępnej usługi.

Podczas oceniania przypadku dla błędów z powodu niedostępnej usługi:

  • Jaki jest efekt mierzony w ilości operacji, których dotyczy problem w porównaniu z powodzeniem operacji? Czy jest ona w ramach umów SLA usługi?
  • Czy ma to wpływ na opóźnienie /dostępność P99?
  • Czy awarie wpływają na wszystkie wystąpienia aplikacji, czy tylko na ich podzestaw? Gdy problem zostanie zredukowany do podzestawu wystąpień, często jest to problem związany z tymi wystąpieniami.

Kroki rozwiązywania problemów

Poniższa lista zawiera znane przyczyny i rozwiązania dla wyjątków niedostępnych usługi.

Weryfikowanie kodu stanu podrzędnego

W niektórych warunkach błąd HTTP 503 Usługa niedostępna zawiera kod stanu podrzędnego, który pomaga zidentyfikować przyczynę.

Kod podstatu opis
20001 Wystąpił błąd niedostępności usługi, ponieważ występują problemy z łącznością po stronie klienta (błędy próbujące nawiązać połączenie). Klient próbował odzyskać, ponowiając próbę, ale wszystkie próby nie powiodły się.
20002 Wystąpił błąd niedostępności usługi, ponieważ występują przekroczenia limitu czasu po stronie klienta. Klient próbował odzyskać, ponowiając próbę, ale wszystkie próby nie powiodły się.
20003 Wystąpił błąd niedostępności usługi, ponieważ występują podstawowe błędy we/wy związane z systemem operacyjnym. Zobacz szczegóły wyjątku dotyczące powiązanego błędu we/wy.
20004 Wystąpił błąd niedostępności usługi, ponieważ procesor CPU komputera klienckiego jest przeciążony.
20005 Wystąpił błąd niedostępności usługi, ponieważ pula wątków maszyny klienckiej jest głodna. Sprawdź potencjalne blokowanie wywołań asynchronicznych w kodzie.
20006 Połączenie między usługą a klientem zostało przerwane lub przerwane w nieoczekiwany sposób.
>= 21001 Ten błąd niedostępności usługi wystąpił z powodu przejściowego warunku usługi. Sprawdź warunki w powyższej sekcji, upewnij się, że zostały wprowadzone zasady ponawiania prób. Jeśli liczba tych błędów jest wysoka w porównaniu z przypadkami powodzenia, skontaktuj się z pomocą techniczną platformy Azure.

Wymagane porty są blokowane

Sprawdź, czy wszystkie wymagane porty są włączone.

Przejściowe problemy z łącznością po stronie klienta

Wyjątki niedostępności usługi mogą występować, gdy występują przejściowe problemy z łącznością, które powodują przekroczenie limitu czasu i można je bezpiecznie ponowić zgodnie z zaleceniami dotyczącymi projektowania.

Postępuj zgodnie z instrukcjami rozwiązywania problemów z limitem czasu żądania, aby rozwiązać ten problem.

Awaria usługi

Sprawdź stan platformy Azure, aby sprawdzić, czy występuje bieżący problem.

Następne kroki

  • Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu .NET SDK usługi Azure Cosmos DB.
  • Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu JAVA SDK usługi Azure Cosmos DB.
  • Dowiedz się więcej o wytycznych dotyczących wydajności dla platformy .NET.
  • Dowiedz się więcej o wytycznych dotyczących wydajności dla języka Java.