Как найти bottleneck в Go приложении?

Middle
893 просмотров
AFK Offer AI

Стандартный подход: подключаешь pprof, снимаешь CPU и memory профили под нагрузкой, смотришь top функций и flame graph. Если CPU не нагружен, а приложение тормозит — смотри goroutine profile и block profile, может горутины ждут на мьютексах или каналах. Tracing через go tool trace показывает таймлайн выполнения горутин. Бенчмарки помогают изолировать медленные участки. Важно профилировать на реальных данных, а не синтетических — иначе найдёшь не тот bottleneck.

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

GraphQL vs REST?