Какой был RPS на последнем проекте

«Какой был RPS на последнем проекте» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На последнем проекте RPS (Requests Per Second) составлял около 5K.

Как измеряли:
Использовали net/http/pprof и нагрузочное тестирование через vegeta:

import (
  "net/http"
  _ "net/http/pprof"
)

func main() {
  go func() {
    http.ListenAndServe(":6060", nil) // pprof
  }()
  // ...основной сервер
}

Оптимизации:

  • Кеширование через sync.Pool для частых аллокаций
  • Оптимизация JSON-маршалинга (jsoniter)
  • Балансировка через nginx

Пиковый RPS достигал 8K, но держали запас в 30%.