Junior — Middle
Hoe bepaal je de optimale wachttijd voor het uitvoeren van verzoeken?
sobes.tech AI
Antwoord van AI
De optimale timeout voor het uitvoeren van verzoeken in Go wordt bepaald door een balans tussen de noodzaak om op een antwoord te wachten en de wens om het programma niet te lang te blokkeren.
Om de optimale tijd te bepalen:
- Meet de gemiddelde en maximale responstijd van de server onder echte omstandigheden.
- Voeg een marge toe (bijvoorbeeld 20-30%) om piekbelastingen en vertragingen te compenseren.
- Houd rekening met de eisen aan de gebruikerservaring — een te lange timeout kan de responsiviteit verminderen.
In Go kunnen timeouts worden ingesteld via de context of de client-instellingen:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
req, _ := http.NewRequestWithContext(ctx, "GET", url, nil)
resp, err := http.DefaultClient.Do(req)
Hier is 2 seconden een voorbeeld van een optimale timeout die experimenteel moet worden vastgesteld.