Какие порядки величин стоит держать в голове при оценке на салфетке?
- Какие числа помнить для оценок на собеседовании?
- Во сколько раз память быстрее диска?
Важны соотношения: память ~100 нс, SSD ~100 мкс (в тысячу раз медленнее), HDD ~10 мс (ещё в сто), сеть внутри дата-центра ~0,5 мс, другой континент ~100+ мс.
- Скорость света в оптоволокне ~200 000 км/с — межконтинентальный оборот физически ≥ 50–100 мс
- Последовательное чтение намного быстрее случайного
- Пропускная способность: память — десятки ГБ/с, NVMe — единицы ГБ/с, сеть 10 Гбит/с ≈ 1 ГБ/с
А ещё Выводы: кэш в памяти окупается, случайного доступа к диску избегают, далёких пользователей обслуживают CDN и региональные копии
Подробно
Задержки (порядки):
| Операция | Время |
|---|---|
| кэш процессора L1 | ~1 нс |
| оперативная память | ~100 нс |
| случайное чтение NVMe SSD | ~20–100 мкс |
| оборот в дата-центре | ~0,2–0,5 мс |
| случайное чтение HDD | ~5–10 мс |
| Москва — Санкт-Петербург и обратно | ~10 мс |
| Москва — Франкфурт и обратно | ~40 мс |
| через океан и обратно | ~100–150 мс |
Объёмы и скорости: в сутках ~10⁵ с, в месяце ~2,5 × 10⁶ с, в году ~3 × 10⁷ с; 1 млн записей по 1 КБ = 1 ГБ; сеть 1 Гбит/с ≈ 125 МБ/с.
Выводы для проектирования:
- обращение к кэшу в памяти в десятки тысяч раз дешевле запроса в базу — кэш почти всегда окупается;
- поход в сеть в цикле — главный источник медленных запросов (N+1);
- диск любит последовательную запись — отсюда журналы, Kafka, LSM;
- физику не обойти: пользователи на другом континенте получат +100 мс на каждый оборот — нужны CDN, региональные развёртывания, меньше оборотов.
Что хотят услышать
- Порядки по уровням памяти, диска и сети.
- Соотношения между ними, а не точные цифры.
- Выводы для архитектуры.
Частые ошибки
- Считать SSD сравнимым с памятью.
- Забывать про физический предел задержки между континентами.
Проверьте себя
Несколько верных вариантов. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Память — порядка 100 нс, случайное чтение с SSD — десятки–сотни мкс
- ✓Round trip внутри ДЦ ≈ 0,5 мс, между континентами — порядка 100 мс
- ✗Случайное чтение с вращающегося диска сопоставимо по скорости с чтением из оперативной памяти
- ✓Межконтинентальную задержку ограничивает скорость света
Что спросят дальше
- Почему это делает CDN обязательным для глобальной аудитории?
- Как оценить объём кэша через рабочее множество?
Разбор темы
- Оценка нагрузки и ресурсов
Как считать на салфетке: QPS из аудитории, пиковые коэффициенты, объём хранения и трафик, порядки задержек, узкое место и типичные ошибки оценки на интервью.
Связанные вопросы
- Какие порядки задержек нужно знать разработчику? Middle
- Сервисом пользуются 10 млн активных пользователей в сутки, каждый совершает около 20 целевых действий. Какой примерно QPS в пике при коэффициенте пиковости 3? Middle
- Сервис принимает 100 млн сообщений в сутки по 1 КБ. Сколько примерно места потребуется за год и какой множитель забывают чаще всего? Middle
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.