digital-garden/source/курсы/otus/Архитектор высоких нагрузок 2024/Проблемы высоких нагрузок.md

54 lines
2.4 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
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
- Совмещаем плюсы синхронной и асинхронной модели