Что такое goroutine leak в production?

Middle+
268 просмотров
AFK Offer AI

Goroutine leak — горутины, которые никогда не завершаются и накапливаются. Диагностика: метрика go_goroutines постоянно растёт. Берёшь goroutine dump: go tool pprof http://host/debug/pprof/goroutine. Смотришь где застряли — обычно на channel receive, mutex lock, HTTP read. Типичные причины: запись в канал без читателя, HTTP клиент без timeout, забытый ticker без Stop(), context без cancel. Каждая горутина ~2-8KB stack, при 100K утекших — несколько сотен MB. Профилактика: всегда defer cancel(), всегда таймауты.

Следующий вопрос

Что такое HTTP/2 multiplexing?