--- 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)