Go GOMAXPROCS v Kontajneroch: Problém Detekcie CPU
Go vidí 64 CPU hosta ale váš kontajner má limit 2 CPU. GOMAXPROCS=64 spôsobuje nadmerný context switching a throttling. Tu je riešenie.
4 článkov
Go vidí 64 CPU hosta ale váš kontajner má limit 2 CPU. GOMAXPROCS=64 spôsobuje nadmerný context switching a throttling. Tu je riešenie.
Go aplikácia má zrazu 10,000 threadov konzumujúcich všetku pamäť. Príčina: cgo-based DNS resolution blokujúce v pomalých DNS prostrediach, obchádzajúce Go's goroutine scheduler.
Periodické latency špičky ktoré vyzerajú ako network jitter. Skutočná príčina: vnorené timeouty vytvárajú tisíce timerov ktoré zaťažujú Go runtime timer heap a spúšťajú GC scanning.
gRPC spojenia sa náhodne zatvárajú s 'transport is closing'. Príčina: klient a server keepalive nastavenia sa nezhodujú, server terminuje idle spojenia.