Questo documento elenca le best practice per l'utilizzo dell'API Cloud Healthcare. Le linee guida riportate in questa pagina sono progettate per garantire maggiore efficienza, precisione e tempi di risposta ottimali del servizio.
Informazioni sulle prestazioni della latenza
Le prestazioni dell'API Cloud Healthcare sono misurate in base alla latenza tra:
- Quando invii una richiesta all'API Cloud Healthcare.
- Quando ricevi una risposta completa alla richiesta.
La latenza è composta da tre componenti:
- Tempo di round trip (RTT)
- Latenza di elaborazione del server
- Velocità in uscita del server
La distanza geografica tra te e il server che stai inviando le richieste possono avere un impatto significativo su RTT e velocità effettiva del server. La metrica misurata la latenza e la velocità effettiva tra regioni per le reti Google Cloud dashboard dal vivo. La dashboard mostra le prestazioni che un client può aspettarsi da diverse località quando invia richieste ai server dell'API Cloud Healthcare.
Misurare il rendimento in termini di latenza
I seguenti strumenti e dashboard forniscono modi per misurare il rendimento di richieste da e verso i server dell'API Cloud Healthcare:
Metriche di latenza della console Google Cloud: puoi visualizzare la latenza lato server. di richieste API Cloud Healthcare nella console Google Cloud. Per ulteriori informazioni, consulta le metriche di Google Cloud.
Metriche personalizzate di Cloud Logging: puoi creare metriche di distribuzione utilizzando Logging. Le metriche di distribuzione ti consentono di configurare e comprendere la latenza end-to-end nelle tue applicazioni. Puoi anche monitorare e generare report su qualsiasi misurazione della latenza definita in base alle tue esigenze.
Riquadro Rete di Chrome: puoi controllare l'attività di rete in Chrome DevTools. per visualizzare i dettagli delle prestazioni di una richiesta HTTP inviata da un browser.
Riduzione della latenza delle richieste
Questa sezione descrive i vari metodi per ridurre la latenza delle richieste inviate all'API Cloud Healthcare.
Invio di richieste alla località regionale più vicina in corso...
Per ottenere le migliori prestazioni in termini di RTT e velocità in bit del server, invia le richieste dal client alla posizione regionale dell'API Cloud Healthcare più vicina. Consulta Regioni per un elenco delle regioni disponibili.
Invio di richieste di warmup
Quando un client invia richieste a un server API Cloud Healthcare per la prima volta durante una sessione, il client esegue handshake TCP con per stabilire le connessioni per le richieste HTTP. Eventuali richieste successive può continuare a utilizzare queste connessioni stabilite, consentendo al client evitare l'overhead TCP tipicamente associato a una richiesta. Questo porta migliorando le prestazioni durante l'invio delle richieste.
Invio di richieste contemporaneamente con HTTP/1.1 o HTTP/2
Per ottenere le migliori prestazioni per una serie di richieste, inviale contemporaneamente. Segui queste linee guida per l'invio di richieste in parallelo:
- Quando invii richieste in parallelo, cerca di trovare un numero ideale di richieste in parallelo. Il numero ideale dipende da diversi fattori, tra cui le funzionalità hardware e di rete e il numero di richieste inviate. Esegui test per trovare il numero ideale.
- Invia le richieste dal client utilizzando HTTP/2, se possibile. HTTP/2 offre prestazioni migliori rispetto a HTTP/1.1 perché richiede una sola connessione TCP quando vengono inviate più richieste in sequenza o contemporaneamente. Di conseguenza, puoi evitare l'overhead dell'handshake TCP.
Se non è possibile utilizzare HTTP/2, utilizza HTTP/1.1 con una connessione permanente. Puoi evitare il sovraccarico della stretta di mano TCP se sono già state inviate richieste di acclimatamento. L'utilizzo di una connessione permanente potrebbe richiedere di gestire una connessione ottimizzata con un pool di connessioni per la libreria HTTP.
Ad esempio, per impostare un pool di connessioni con 20 richieste simultanee utilizzando la libreria client HTTP di Google per Java, il codice includerà quanto segue:
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // Support 20 concurrent requests. cm.setDefaultMaxPerRoute(20); cm.setMaxTotal(100); HTTP_CLIENT = HttpClients.custom().setConnectionManager(cm).build();
Per impostare un pool di connessioni con 20 richieste in parallelo utilizzando Node.js, il codice include quanto segue:
require('http').globalAgent.maxSockets = 20