Получить доступ

Какие порядки величин стоит держать в голове при оценке на салфетке?

MiddleОценка нагрузки
Ещё спрашивают так:
  • Какие числа помнить для оценок на собеседовании?
  • Во сколько раз память быстрее диска?
Коротко

Важны соотношения: память ~100 нс, SSD ~100 мкс (в тысячу раз медленнее), HDD ~10 мс (ещё в сто), сеть внутри дата-центра ~0,5 мс, другой континент ~100+ мс.

  • Скорость света в оптоволокне ~200 000 км/с — межконтинентальный оборот физически ≥ 50–100 мс
  • Последовательное чтение намного быстрее случайного
  • Пропускная способность: память — десятки ГБ/с, NVMe — единицы ГБ/с, сеть 10 Гбит/с ≈ 1 ГБ/с

А ещё Выводы: кэш в памяти окупается, случайного доступа к диску избегают, далёких пользователей обслуживают CDN и региональные копии

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Задержки (порядки):

ОперацияВремя
кэш процессора 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 сравнимым с памятью.
  • Забывать про физический предел задержки между континентами.

Проверьте себя

Несколько верных вариантов. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Обращение к оперативной памяти — порядка сотни наносекунд, случайное чтение с SSD — десятки-сотни микросекунд
  • ✓Round trip внутри дата-центра — около половины миллисекунды, между континентами — порядка сотни миллисекунд
  • ✓Межконтинентальная задержка ограничена скоростью света и принципиально не оптимизируется
  • ✗Случайное чтение с вращающегося диска сопоставимо по скорости с чтением из памяти

Что спросят дальше

  • Почему это делает CDN обязательным для глобальной аудитории?
  • Как оценить объём кэша через рабочее множество?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем