Что такое RPS (Request Per Second)

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

Ответ

RPS (Requests Per Second) — метрика, показывающая количество HTTP-запросов, которое сервер или приложение может обработать за секунду. Используется для оценки производительности и нагрузки.

Пример измерения RPS в Go с использованием бенчмарка:

func BenchmarkHandler(b *testing.B) {
    req := httptest.NewRequest("GET", "/", nil)
    rec := httptest.NewRecorder()

    for i := 0; i < b.N; i++ {
        handler(rec, req)
    }
}

Ключевые факторы, влияющие на RPS:

  • Оптимизация кода (аллокации, горутины)
  • Эффективность БД (кеширование, индексы)
  • Конфигурация сервера (пулы соединений, лимиты)

Высокий RPS — признак отзывчивого сервиса, но важно учитывать и latency (время отклика).