24 lines
1.9 KiB
Markdown
24 lines
1.9 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- зрелость/🌱
|
||
date:
|
||
- - 2024-04-14
|
||
zero-link:
|
||
- "[[00 HighLoad]]"
|
||
parents:
|
||
linked:
|
||
---
|
||
Если мы говорим о [бэкенде](Бэкенд.md), то у нас может быть 2 цели по его оптимизации:
|
||
- [Throughput](Throughput.md). Заставить его переваривать большее количество запросов в секунду, то есть увеличить его производительность.
|
||
- [Latency](Latency.md). Уменьшить время отклика, то есть чтобы каждый запрос выполнялся намного быстрее.
|
||
|
||
Напомню, что [Бэкенд большую часть времени ждет](Бэкенд%20большую%20часть%20времени%20ждет.md). Поэтому, чтобы бэкенд мог выдержать как можно большую нагрузку, мы должны в рамках одного [ядра процессора](Ядро%20процессора.md) обрабатывать не один запрос, а несколько, так как процессорное время тратится совсем небольшое, между ними расположены интервалы ожидания, мы можем обработку нескольких запросов выполнять на одном ядре, переключаясь между ними по мере того, как обработка [блокируется](Блокирующие%20вызовы.md) на ожидание какого-то сетевого ввода вывода.
|
||
|
||
Подходы:
|
||
- [Green thread](Green%20thread.md)
|
||
- [Реактивная разработка](Реактивная%20разработка.md)
|
||
- [Кэширование на сервере](Кэширование%20на%20сервере.md)
|
||
|
||
![](Pasted%20image%2020240414134708.png)
|