Ilya Brin - Software Engineer

History is written by its contributors

Go Runtime: How GC Impacts P99 Latency in High-Load APIs

2025-12-27 10 min read Go Performance

You have a great API with median latency of 5ms, but P99 suddenly spikes to 500ms? Clients complain about periodic freezes? Welcome to the world of Go Garbage Collector and its impact on tail latency.

In this article, we’ll tackle a real problem: how a 10ms GC pause turns into 500ms latency for users, and what to do to keep P99 latency under control.

Continue reading

Graceful Shutdown in Go: Properly Stopping Services Under Load

2025-12-23 14 min read Go Production

In production environments, especially in Kubernetes, services are constantly being stopped and started: deploying new versions, scaling, node switching. Improper shutdown leads to lost requests, unsent data, and desynchronized state.

Graceful shutdown is not just handling SIGTERM. It’s a comprehensive termination strategy that guarantees:

  • Completion of active request processing
  • Proper closure of database and cache connections
  • Saving intermediate results
  • Sending all metrics and logs

Let’s explore how to implement this correctly.

Continue reading