--- tags: - зрелость/🌱 date: - - 2024-02-29 zero-link: - "[[00 HighLoad]]" parents: - "[[Архитектор высоких нагрузок - OTUS 2024]]" linked: - "[[source/курсы/otus/Архитектор высоких нагрузок 2019/Проблемы высоких нагрузок|Проблемы высоких нагрузок]]" author: - "[[Сапогов Никита]]" next: "[[Введение в docker. Обзор docker-compose]]" --- ![](Проблемы_высоких_нагрузок___Презентация__Никита_Сапогов__29.02.2024-310891-2c6576.pdf) ## Интересные мысли лектора - У каждого своя высокая нагрузка. Для одного проекта 100 RPS уже высокая нагрузка. Например, запрос должен перелопатить терабайты данных. ## Заметки Обсуждали [Многозадачность ЦПУ](Многозадачность%20ЦПУ.md) Память разбивается на однотипные куски одинакового размера 4 кб. Аллокация памяти происходит при первом обращении. Page Fault ![](Pasted%20image%2020240229204146.png) Причины возникновения - Первое обращение к памяти - ОС выгрузила страницу на HDD - Copy-on-write Почему плохо: - Происходит [context switch](Переключение%20контекста.md) - В худших случаях еще и поход на HDD Copy-on-write - это когда при изменении данных мы копируем исходные данные в другую ячейку, а потом записываем новые данные. Модели веб серверов - Worker - многопоточный - Prefork - многопроцессорный - Асинхронный - Комбинированный Worker/prefork - Просто реализовать - Неэфективность при работе с i/o - Ограничение размером пула потоков - Дорого выделять на каждого клиента по потоку Концепция fiber - Совмещаем плюсы синхронной и асинхронной модели