System Design Calculator

Оценка RPS, объёма хранения, пропускной способности и видимых формул.

Входные параметры
Daily Active Users (DAU) — активных юзеров в день
Сколько уникальных пользователей реально пользуются системой за сутки. Типичный диапазон: от тысяч до миллионов. Значение по умолчанию: 1 000 000.
Запросов в день на одного пользователя
Среднее количество запросов (API, страницы, действия), которое делает один активный пользователь за день. Обычно 5–100. По умолчанию: 20.
Пиковый множитель (burst factor)
Во сколько раз пиковая нагрузка выше средней (например, вечером или во время акций). Типично 5–20. По умолчанию: 10.
Чтения (%)
Доля операций чтения среди всех операций на пике нагрузки. Большинство систем read-heavy. Часто 80–99%.
Записи (%)
Доля операций записи. Обычно 1–20%. По умолчанию здесь это просто 100% − чтения%. (10% auto if reads = 90%)
Объём данных на чтение
Примерный объём данных, который считывается из хранилища за одну операцию чтения. Маленькие API-пейлоады: 0.1–10 КБ. По умолчанию: 0.5 КБ.
Объём данных на запись
Примерный объём данных, который записывается в хранилище за одну операцию записи. По умолчанию: 1 КБ.
Размер ответа
Средний размер ответа, который ваш backend отдаёт клиенту. По умолчанию: 4 КБ.
Время хранения (дней)
Сколько дней вы планируете хранить данные для этой нагрузки. Часто берут 7, 30 или 90 дней. По умолчанию: 30.
Результаты и формулы
Средний RPS
231.48 RPS
Формула: Средний RPS = (Активные пользователи в день × Запросов в день на одного пользователя) / 86 400 (секунд в сутках)
Пример: avgRps ≈ (1M × 20) / 86,400 = 231.48
Пиковый RPS
2.3K RPS
Формула: Пиковый RPS = Средний RPS × Пиковый множитель
Пример: peakRps ≈ 231.48 × 10 = 2.3K
RPS чтений
2.1K RPS
Формула: RPS чтений = Пиковый RPS × (Доля чтений в процентах / 100)
Пример: readRps ≈ 2.3K × (90 / 100) = 2.1K
RPS записей
231.48 RPS
Формула: RPS записей = Пиковый RPS × (Доля записей в процентах / 100)
Пример: writeRps ≈ 2.3K × (10 / 100) = 231.48
В день
19.07 GB / day
Формула: Суточный объём данных = RPS записей × Объём данных на запись (в байтах) × 86 400 секунд
Пример: dailyStorage ≈ 231.48 × 1 KB × 86,400 ≈ 19.07 GB
За период хранения (например, 30 дней)
572.20 GB
Формула: Объём за период хранения ≈ Суточный объём × Количество дней хранения
Пример: monthlyStorage ≈ 19.07 GB × 30 572.20 GB
За 365 дней
6.80 TB
Формула: Годовой объём ≈ Суточный объём × 365 дней
Пример: yearlyStorage ≈ 19.07 GB × 365 ≈ 6.80 TB
Входящий трафик (запросы)
1.24 MB/s
Формула: Входящая полоса ≈ RPS чтений × Объём данных на чтение + RPS записей × Объём данных на запись
Пример: inbound ≈ readRps × payloadRead + writeRps × payloadWrite ≈ 1.24 MB/s
Исходящий трафик (ответы)
9.04 MB/s
Формула: Исходящая полоса ≈ Пиковый RPS × Размер ответа
Пример: outbound ≈ peakRps × responseSize ≈ 9.04 MB/s

Все значения — прикидки “на салфетке”, чтобы понять порядок величин.