Share via


Diagnosticare e risolvere i problemi relativi a eccezioni Servizio non disponibile di Azure Cosmos DB

SI APPLICA A: NoSQL

L'SDK non è riuscito a connettersi ad Azure Cosmos DB. Questo scenario può essere temporaneo o permanente a seconda delle condizioni di rete.

È importante assicurarsi che la progettazione dell'applicazione segua la guida per la progettazione di applicazioni resilienti con SDK di Azure Cosmos DB per assicurarsi che reagisca correttamente alle diverse condizioni di rete. L'applicazione dovrà avere meccanismi di ripetizione dei tentativi per gli errori di tipo servizio non disponibile.

Quando si valuta il caso per gli errori di tipo servizio non disponibile:

  • Qual è l'effetto misurato in volume delle operazioni interessate rispetto alle operazioni completate correttamente? Rientra nei contratti di servizio?
  • La disponibilità / latenza P99 è interessata?
  • Gli errori interessano tutte le istanze dell'applicazione o solo un sottoinsieme? I problemi ridotti a un sottoinsieme di istanze in genere sono correlati a tale istanze.

Passaggi per la risoluzione dei problemi

L'elenco seguente contiene le cause note e le soluzioni per le eccezioni Servizio non disponibile.

Verificare il codice di stato secondario

In determinate condizioni l'errore HTTP 503 Servizio non disponibile include un codice di stato secondario che consente di identificare la causa.

Codice di stato secondario Descrizione
20001 L'errore di Servizio non disponibile si è verificato perché sono presenti problemi di connettività lato client, ovvero tentativi di connessione non riusciti. Il client ha provato a eseguire il ripristino tramite nuovi tentativi ma ogni tentativo ha avuto esito negativo.
20002 L'errore di servizio non disponibile si è verificato perché sono presenti timeout lato client. Il client ha provato a eseguire il ripristino tramite nuovi tentativi ma ogni tentativo ha avuto esito negativo.
20003 L'errore di servizio non disponibile si è verificato perché sono presenti errori di I/O sottostanti correlati al sistema operativo. Per informazioni sull'errore di I/O correlato, vedere i dettagli dell'eccezione.
20004 L'errore di servizio non disponibile si è verificato perché la CPU del computer client è in overload.
20005 L'errore di servizio non disponibile si è verificato perché il pool di thread del computer client non ha risorse sufficienti. Verificare se esistono chiamate asincrone potenzialmente bloccanti nel codice.
20006 La connessione tra il servizio e il client è stata interrotta o terminata in modo imprevisto.
>= 21001 L'errore di servizio non disponibile si è verificato a causa di una condizione temporanea del servizio. Verificare le condizioni nella sezione precedente e assicurarsi che siano disponibili criteri di ripetizione dei tentativi. Se il volume di questi errori è elevato rispetto alle operazioni riuscite, contattare il supporto tecnico di Azure.

Le porte necessarie vengono bloccate

Verificare che tutte le porte necessarie siano abilitate.

Problemi di connettività temporanea lato client

Le eccezioni di servizio non disponibile possono essere generate in caso di problemi di connettività temporanei che provocano timeout ed è possibile eseguire nuovi tentativi in modo sicuro seguendo le raccomandazioni di progettazione.

Seguire la procedura per la risoluzione dei problemi relativi al timeout della richiesta per risolverli.

Interruzione del servizio

Controllare lo stato di Azure per verificare un eventuale problema in corso.

Passaggi successivi

  • Diagnosticare e risolvere i problemi che si verificano durante l'uso dell’SDK .NET di Azure Cosmos DB.
  • Diagnosticare e risolvere i problemi che si verificano durante l'uso dell’SDK Java di Azure Cosmos DB.
  • Altre informazioni sulle linee guida sulle prestazioni per .NET.
  • Altre informazioni sulle linee guida sulle prestazioni per Java.