SYSTEM ATLASЗагрузка материала
Закон ЛиттлаСреднее число элементов в системе равно скорости поступления, умноженной на среднее время пребывания: L = λW.Закон АмдалаОбщее ускорение ограничено долей работы, которую нельзя распараллелить.Теория очередейЗадержки растут нелинейно, когда загрузка ресурса приближается к его предельной мощности.Теория ограниченийРезультат системы определяется ее главным ограничением.Хвостовая задержкаРедкие медленные запросы определяют опыт всей распределенной системы.Блокировка начала очередиОдна медленная операция задерживает следующие независимые операции.Проблема грохочущего стадаОдно событие одновременно будит множество ожидающих процессов или клиентов, и они начинают конкурировать за один ресурс.Закон ГустафсонаРост ресурсов позволяет увеличивать размер задачи при фиксированном времени.Закон универсальной масштабируемостиМасштабирование ограничивают конкуренция за ресурсы и стоимость согласования.Закон очередейЗадержка резко растет при приближении загрузки ресурса к пределу.Формула Поллачека-ХинчинаВариативность времени обслуживания увеличивает среднее ожидание.Coordinated OmissionГенератор нагрузки пропускает запросы во время задержки и занижает хвосты.Cache LocalityБлизкие по времени и адресу данные обслуживаются быстрее кэшами.Memory WallПроизводительность процессора растет быстрее скорости доступа к памяти.False SharingНезависимые данные в одной cache line вызывают лишнюю синхронизацию.NUMA LocalityДоступ к удаленной памяти медленнее локального доступа процессора.Write AmplificationОдна логическая запись вызывает несколько физических записей.Read AmplificationПолучение одного результата требует чтения нескольких структур.Space-Time TradeoffВремя часто сокращается за счет дополнительной памяти и наоборот.BatchingГруппировка операций уменьшает постоянные накладные расходы.PipeliningЭтапы обработки перекрываются во времени.VectorizationОдна инструкция обрабатывает несколько элементов данных.Data-Oriented DesignСтруктура данных оптимизируется под реальные шаблоны доступа.Конкурирующие потребителиМасштабирует обработку очереди несколькими независимыми потребителями.Приоритетная очередьОбслуживает более важные сообщения раньше обычных.Выравнивание нагрузки очередьюБуферизует пики, отделяя скорость приема от скорости обработки.Устаревший ответ во время обновленияstale-while-revalidate разрешает временно отдать устаревший кэшированный ответ, пока новая версия обновляется в фоне.Ранние подсказки HTTP 103Ответ 103 позволяет серверу передать подсказки о зависимых ресурсах до готовности окончательного HTTP-ответа.Приоритет HTTP-запросовHTTP Priority передаёт относительную срочность и возможность инкрементальной доставки ответа.Приоритет загрузки ресурсаFetch Priority позволяет разработчику подсказать браузеру относительную важность конкретного ресурса.Правила предварительной навигацииSpeculation Rules позволяют браузеру заранее prefetch или prerender вероятные следующие страницы по декларативным правилам.Объединение одинаковых запросовОдновременные запросы к одному ресурсу объединяются в одну операцию, а результат распределяется между ожидающими клиентами.Паттерн Single FlightДля одного ключа в каждый момент выполняется только одно дорогое вычисление или загрузка.Джиттер обновления кэшаСлучайное смещение срока обновления распределяет пересчёты во времени и уменьшает синхронный пик нагрузки после истечения кэша.Бюджет воспринимаемой задержкиИнтерфейс задаёт пределы ожидания и подходящую обратную связь для разных длительностей операции.Мониторинг реальных пользователейТелеметрия реальных сессий показывает фактическую задержку, ошибки и условия клиентских устройств.Модель нагрузки для тестаНагрузочный тест воспроизводит распределение операций, данных, конкуренции и пиков, а не только средний RPS.Адаптация к качеству мобильной сетиИзменение объёма данных, частоты синхронизации и качества контента в зависимости от доступности и стоимости сети.Синхронизация с учётом батареиПланирование фоновой передачи данных с учётом заряда, режима энергосбережения и подключения к питанию.Политика очистки: нагрузочный тестДля «нагрузочный тест» это правило удаления тестовых данных и временных ресурсов после успеха, ошибки и аварийной остановки.Шлюз совместимости: нагрузочный тестДля «нагрузочный тест» это обязательная проверка обратной и прямой совместимости перед переходом изменения к следующему этапу выпуска.Пакет доказательств: нагрузочный тестДля «нагрузочный тест» это собранный набор логов, метрик, снимков и параметров, позволяющий воспроизвести и объяснить решение теста.Репетиция: нагрузочный тестДля «нагрузочный тест» это регулярная репетиция эксплуатационного сценария с измерением времени, ошибок и качества координации.