TGViewer
Типичный программист Типичный программист @tproger · 78.3K subscribers
Post #14783 7.59K
Два простаивающих соединения на хост по умолчанию разгоняют хвост задержек в Go-сервисе

Каждый сервис на Go, который ходит в соседний, использует http.Transport, даже не вспоминая о нём. У MaxIdleConnsPerHost значение по умолчанию равно двум, и это самая частая ошибка конфигурации в парках микросервисов на Go.

Арифметика простая. Сервис на 500 запросах в секунду с медианой 20 мс держит около десяти одновременных соединений. Восемь закрываются после каждого запроса, и каждый следующий поход платит за рукопожатие TCP, а на TLS ещё и за проверку сертификата. Ошибок в логах нет, всё выходит наружу только хвостом времени ответа.

Вторая ловушка в дозвоне: при пустом пуле горутины уходят звонить разом, и без MaxConnsPerHost это выжигает дескрипторы и порты. Поставите лимит, получите очередь, и отвал по дедлайну будет выглядеть как таймаут соседа. Открывайте материал с конфигом транспорта и смотрите, как этого избежать.

#golang
DEV Community net/http Transport Internals: Connection Pool Mechanics, Dial Contention, and Tuning for Microservice Workloads Deep dive into Go's http.Transport connection pooling, dial serialization, idle timeout races, and per-host tuning for high-throughput microservice traffic.
  • ❤ 6
  • 👏 4
  • 🙉 3
  • 💯 2
  • 🤝 2
  • 🤷‍♂ 1
  • 🤩 1
  • 🍓 1
  • 😭 1
  • 👻 1
  • 😇 1
More from @tproger
  1. Sep 20, 2026Как повторное использование ReverseProxy ускорило прокси на Go в 3,8 раза Автор нагрузил с…
  2. Sep 20, 2026Мы вернулись из Суздаля с новым взглядом на магазин у дома Были на tech-туре MAGNIT TECH «…
  3. Sep 19, 2026Вопрос на разогрев: что из этого появилось раньше — ICQ, MySpace или Nokia 3310? Если заду…
  4. Sep 19, 2026Почему тип указателя не гарантирует безопасность памяти Указатель сохраняет тип, даже когд…
  5. Sep 19, 2026В Суздаль за DevOps Недавно мы съездили на «Без предела: Исходный код ритейла» от MAGNIT T…
  6. Sep 18, 2026Как Cloudflare освободила 100 ТБ памяти в DNS-кеше 1.1.1.1 Big Pineapple за сервисом 1.1.1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →