Оценка нагрузки на салфетке: QPS

Как из «сколько пользователей» за минуту получить запросы в секунду и понять характер нагрузки.

QPS (queries per second) — число запросов в секунду, базовая метрика нагрузки, из которой выводят потребность в серверах, кэше и репликах.

Базовая формула

Считать надо грубо, порядками. Отправная точка — DAU (активные пользователи в сутки) и среднее число действий на пользователя. В сутках примерно 86 400 секунд, удобно округлять до 100 000 (~10 в пятой).

QPS_средний = (DAU * действий_на_юзера) / 86400
QPS_пиковый = QPS_средний * 2..3   (пик в часы активности)

Пример: лента новостей

Пусть 10M DAU, каждый открывает ленту 10 раз в день. Считаем:

читений в сутки = 10_000_000 * 10 = 100_000_000
QPS_чтений ~ 100_000_000 / 100_000 = 1000
пик ~ 1000 * 3 = 3000 QPS на чтение

А записей (постов) пусть в 100 раз меньше: ~10 QPS в среднем. Получаем перекос чтения:запись ≈ 100:1 — классическая read-heavy система, где напрашиваются кэш и реплики на чтение.

Как работает под капотом

QPS превращается в железо через пропускную способность одного сервера. Если приложение держит ~1000 простых запросов в секунду на инстанс, то 3000 пиковых QPS — это минимум 3 инстанса плюс запас, плюс балансировщик. Важна не точность цифр, а порядок: 3000 QPS и 300 000 QPS требуют принципиально разной архитектуры, и вы должны показать, что чувствуете разницу.

Памятка по округлениям

ВеличинаОкругляем до
Секунд в сутках~100 000
Тысяча10^3
Миллион10^6
Миллиард10^9

Частые ошибки

  • Считать до последней цифры — здесь важен порядок, а не точность.
  • Забыть про пиковый коэффициент (×2–3 от среднего).
  • Не отделить QPS чтений от QPS записей.

Итог

  • QPS = (DAU × действий) / 86400, округляйте сутки до 100 000 секунд.
  • Пик берите как ×2–3 от среднего.
  • Считайте чтения и записи отдельно — перекос задаёт архитектуру.
Проверьте себя
1. Чему примерно равно число секунд в сутках, удобное для оценки QPS?
A1 000
B100 000
C10 000 000
D1 000 000 000
2. Если средний QPS чтений 1000, какой разумный пиковый брать?
AТе же 1000
BОколо 2000–3000
CОколо 100
DОколо 1 000 000
3. Что важнее всего при оценке QPS на собеседовании?
AТочность до единиц
BПравильный порядок величины
CКрасивый почерк на доске
DЗнание точного DAU реального сервиса